
أداة استخبارات مفتوحة المصدر: إنشاء قوائم أسماء مستخدمين للشركات على LinkedIn
أداة استخبارات المصادر المفتوحة (OSINT): إنشاء قوائم بأسماء المستخدمين من الشركات على LinkedIn.
هذه أداة كشط ويب خالصة، لا تتطلب مفتاح API. تستخدم اسم المستخدم وكلمة المرور الصالحين الخاصين بك في LinkedIn لتسجيل الدخول، وستقوم بإنشاء عدة قوائم بتنسيقات محتملة لأسماء المستخدمين لجميع موظفي الشركة التي توجهها إليها.
إليك ما ستحصل عليه:
اختيارياً، ستقوم الأداة بإلحاق @domain.xxx بأسماء المستخدمين.

لا تلومني إذا تم تقييد معدل استخدام حسابك على LinkedIn أو حتى حظره. هذه أداة بحث أمني - استخدمها فقط بعد قراءة الكود وفهم ما تفعله بالكامل.
لم أسمع عن أي حظر للحسابات منذ كتابة الأداة، لكن تقييد المعدل يحدث أحيانًا عند الوصول إلى "حد البحث التجاري". كان ذلك مؤقتًا حتى الآن (يُقاس شهريًا).
قم بتثبيت uv ، ثم من جذر المستودع قم بتشغيل:
uv sync
سيؤدي ذلك إلى إنشاء بيئة افتراضية وتثبيت جميع التبعيات تلقائيًا. قم بتشغيل الأداة باستخدام:
uv run python linkedin2username.py -c targetco
ستحتاج أيضًا إلى تثبيت Chrome أو Chromium أو Firefox في المسارات النموذجية التي يمكن لـ Selenium اكتشافها. سيتم فتح متصفح ويب مؤقتًا للتعامل مع تسجيل الدخول.
usage: linkedin2username.py [-h] -c COMPANY [-n DOMAIN] [-d DEPTH]
[-s SLEEP] [-x PROXY] [-k KEYWORDS] [-g] [-o OUTPUT]
OSINT tool to generate lists of probable usernames from a given company's LinkedIn page.
This tool may break when LinkedIn changes their site.
Please open issues on GitHub to report any inconsistencies.
optional arguments:
-h, --help show this help message and exit
-c COMPANY, --company COMPANY
Company name exactly as typed in the company linkedin profile page URL.
-n DOMAIN, --domain DOMAIN
Append a domain name to username output.
[example: "-n targetco.com" would output [email protected]]
-d DEPTH, --depth DEPTH
Search depth (how many loops of 25). If unset, will try to grab them
all.
-s SLEEP, --sleep SLEEP
Seconds to sleep between search loops. Defaults to 0.
-x PROXY, --proxy PROXY
Proxy server to use. WARNING: WILL DISABLE SSL VERIFICATION.
[example: "-p https://localhost:8080"]
-k KEYWORDS, --keywords KEYWORDS
Filter results by a a list of command separated keywords.
Will do a separate loop for each keyword,
potentially bypassing the 1,000 record limit.
[example: "-k 'sales,human resources,information technology']
-g, --geoblast Attempts to bypass the 1,000 record search limit by running
multiple searches split across geographic regions.
-o OUTPUT, --output OUTPUT
Output Directory, defaults to li2u-output
ستحتاج إلى تزويد الأداة باسم الشركة على LinkedIn. يمكنك العثور على ذلك من خلال النظر إلى عنوان URL لصفحة الشركة. يجب أن يبدو مثل https://linkedin.com/company/targetco. قد لا يكون ببساطة الاسم الدقيق للشركة.
مثال لسحب جميع موظفي targetco:
$ python linkedin2username.py -c targetco
مثال لسحب قائمة أقصر وإلحاق اسم النطاق @targetco.com بها:
$ python linkedin2username.py -c targetco -d 5 -n 'targetco.com'
استخدم حسابًا لديه الكثير من الاتصالات، وإلا ستحصل على نتائج سيئة. إضافة بضع اتصالات في الشركة المستهدفة يجب أن يساعد - هذه الأداة ستعمل حتى اتصالات الدرجة الثالثة. لاحظ أن LinkedIn سيحد من نتائج البحث إلى 1000 موظف كحد أقصى. يمكنك استخدام الميزات '--geoblast' أو '--keywords' لتجاوز هذا الحد. انظر المساعدة أدناه لمزيد من التفاصيل.
عندما يغير LinkedIn أشياءه، قد تتعطل الأداة. واجهة API المستخدمة هنا غير موثقة، وقد يستغرق الأمر بعض التعديل لإعادتها للعمل. يرجى فتح مشاكل (issues) إذا لاحظت شيئًا غريبًا.
يمكنك التحقق من عمل Selenium على جهازك مثل هذا:
$ python3
from selenium import webdriver
driver = webdriver.Firefox() # or webdriver.Chrome()
driver.get("https://linkedin.com/login")
يمكنك تجربة العلامة --proxy لفحص حركة المرور باستخدام Burp. حاليًا، لا يتم فحص عمليات تسجيل الدخول من متصفح Selenium كما يمكنك رؤية ما يحدث بوضوح.
هذه أداة بحث أمني. استخدمها فقط حيث يتم منحك إذنًا صريحًا من مالك الشبكة.