
LinkedInの列挙ツールで、検索エンジンスクレイピングを通じて組織から有効な従業員名を抽出します。
CrossLinkedは、検索エンジンのスクレイピングを利用して組織から有効な従業員名を収集するLinkedIn列挙ツールです。この手法は、APIキーや認証情報を使用せず、LinkedInに直接アクセスすることなく正確な結果を提供します!
PyPiから最新の安定版をインストール:
pip3 install crosslinked
Poetryを使用して最新コードをインストールして実行:
git clone https://github.com/m8sec/crosslinked
cd crosslinked
poetry install
poetry run crosslinked -h
GitHubから最新コードをインストール:
git clone https://github.com/m8sec/crosslinked
cd crosslinked
pip3 install .
CrossLinkedは、組織のアカウント命名規則がすでに特定されていることを前提としています。これは実行に必須であり、期待する出力に基づいてコマンドライン引数に追加する必要があります。以下の 命名形式 と 使用例 のセクションを参照してください:
{first.{last} = john.smith
CMP\{first}{l} = CMP\johns
{f}{last}@company.com = [email protected]
🦖 まだ詰まっていますか? メタデータは、アカウント命名規則などの隠された情報を確認するのに常に良い場所です。詳細は PyMeta を参照してください。
💥 新機能 💥
代替の命名規則に対応するため、CrossLinkedは検索テキストから抽出された名前のインデックス位置をユーザーが制御できるようにしています。名前が十分な長さでない場合や検索文字列でエラーが発生した場合、CrossLinkedはデフォルトの形式に戻ります。
注意: 検索文字列の配列は 0 から始まります。負の数を使用して最後の値から逆算することもできます。
# デフォルト出力
python3 crosslinked.py -f '{first}.{last}@company.com' Company
John David Smith = [email protected]
# 最後から2番目の名前を「last」として使用
python3 crosslinked.py -f '{0:first}.{-2:last}@company.com' Company
John David Smith = [email protected]
Jane Doe = [email protected]
# 配列の2番目の要素を「last」として使用
python3 crosslinked.py -f '{first}.{1:last}@company.com' Company
John David Smith = [email protected]
Jane Doe = [email protected]
デフォルトでは、CrossLinkedは google と bing の検索エンジンを使用して対象組織の従業員を特定します。実行後、カレントディレクトリに2つのファイル(names.txt と names.csv)が作成されます(コマンドライン引数で変更しない場合)。
解析 セクションを参照。python3 crosslinked.py -f '{first}.{last}@domain.com' company_name
python3 crosslinked.py -f 'domain\{f}{last}' -t 15 -j 2 company_name
⚠️ 最良の結果を得るには、会社名をLinkedInに表示されている通り「"Target Company"」を使用し、ドメイン名は使用しないでください。

実行後にアカウント命名規則が変更され、CAPTCHA要求に引っかかってしまった?問題ありません!
CrossLinkedには names.csv 出力ファイルが含まれており、すべてのスクレイピングデータ(name、job title、url)が保存されています。これを読み込んで解析し、必要に応じてユーザーアカウントを再フォーマットできます。
python3 crosslinked.py -f '{f}{last}@domain.com' names.csv

CrossLinkedの最新バージョンでは、送信元アドレスをローテーションするプロキシサポートを提供しています。--proxy 127.0.0.1:8080 で単一のプロキシを入力するか、--proxy-file proxies.txt を使用して複数のプロキシを利用できます。
> cat proxies.txt
127.0.0.1:8080
socks4://111.111.111.111
socks5://222.222.222.222
> python3 crosslinked.py --proxy-file proxies.txt -f '{first}.{last}@company.com' -t 10 "Company"
⚠️
HTTP/SプロキシはIP:Port形式で追加できます。ただし、socksプロキシにはsocks4://またはsocks5://プレフィックスが必要です。
位置引数:
company_name 対象の会社名
オプション引数:
-h, --help ヘルプメッセージを表示して終了
-t TIMEOUT 検索ごとの最大タイムアウト (デフォルト=15)
-j JITTER リクエスト間のジッター (デフォルト=1)
検索引数:
--search ENGINE 検索エンジン (デフォルト='google,bing')
出力引数:
-f NFORMAT 名前のフォーマット (例: 'domain\{f}{last}', '{first}.{last}@domain.com')
-o OUTFILE 出力ファイル名を変更 (拡張子を省略)
プロキシ引数:
--proxy PROXY プロキシリクエスト (IP:Port)
--proxy-file PROXY ローテーション用のプロキシをファイルから読み込む
以下の方法でプロジェクトに貢献してください: