
Outil d'énumération LinkedIn pour extraire les noms d'employés valides d'une organisation via le scraping des moteurs de recherche
CrossLinked est un outil d'énumération LinkedIn qui utilise le scraping de moteurs de recherche pour collecter les noms d'employés valides d'une organisation. Cette technique fournit des résultats précis sans utiliser de clés API, d'identifiants ou d'accès direct à LinkedIn !
Installez la dernière version stable depuis PyPi :
pip3 install crosslinked
Installez et exécutez le code le plus récent avec Poetry :
git clone https://github.com/m8sec/crosslinked
cd crosslinked
poetry install
poetry run crosslinked -h
Installez le code le plus récent depuis GitHub :
git clone https://github.com/m8sec/crosslinked
cd crosslinked
pip3 install .
CrossLinked suppose que la convention de nommage des comptes de l'organisation a déjà été identifiée. C'est nécessaire à l'exécution et doit être ajouté aux arguments CMD en fonction du résultat attendu. Voir les sections Format de nommage et Exemple d'utilisation ci-dessous :
{first.{last} = john.smith
CMP\{first}{l} = CMP\johns
{f}{last}@company.com = [email protected]
🦖 Toujours bloqué ? Les métadonnées sont toujours un bon endroit pour chercher des informations cachées comme la convention de nommage des comptes. Voir PyMeta pour plus de détails.
💥 Nouvelle fonctionnalité 💥
Pour être compatible avec des conventions de nommage alternatives, CrossLinked permet aux utilisateurs de contrôler la position de l'index du nom extrait du texte de recherche. Si le nom n'est pas assez long ou si des erreurs sont rencontrées avec la chaîne de recherche, CrossLinked revient à son format par défaut.
Remarque : le tableau des chaînes de recherche commence à 0. Les nombres négatifs peuvent également être utilisés pour compter à rebours depuis la dernière valeur.
# Sortie par défaut
python3 crosslinked.py -f '{first}.{last}@company.com' Company
John David Smith = [email protected]
# Utiliser l'avant-dernier nom comme "nom"
python3 crosslinked.py -f '{0:first}.{-2:last}@company.com' Company
John David Smith = [email protected]
Jane Doe = [email protected]
# Utiliser le deuxième élément du tableau comme "nom"
python3 crosslinked.py -f '{first}.{1:last}@company.com' Company
John David Smith = [email protected]
Jane Doe = [email protected]
Par défaut, CrossLinked utilise les moteurs de recherche google et bing pour identifier les employés de l'organisation cible. Après exécution, deux fichiers (names.txt et names.csv) apparaîtront dans le répertoire courant, sauf modification dans les arguments CMD.
Analyse ci-dessous pour plus de détails.python3 crosslinked.py -f '{first}.{last}@domain.com' company_name
python3 crosslinked.py -f 'domain\{f}{last}' -t 15 -j 2 company_name
⚠️ Pour de meilleurs résultats, utilisez le nom de l'entreprise tel qu'il apparaît sur LinkedIn
"Target Company", pas le nom de domaine.

La convention de nommage des comptes a changé après l'exécution et maintenant vous rencontrez des requêtes CAPTCHA ? Pas de problème !
CrossLinked inclut un fichier de sortie names.csv, qui stocke toutes les données de scraping, y compris : name, job title et url. Ce fichier peut être ingéré et analysé pour reformater les comptes utilisateur selon les besoins.
python3 crosslinked.py -f '{f}{last}@domain.com' names.csv

La dernière version de CrossLinked prend en charge les proxys pour alterner les adresses sources. Les utilisateurs peuvent entrer un seul proxy avec --proxy 127.0.0.1:8080 ou en utiliser plusieurs via --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"
⚠️ Les proxys
HTTP/Speuvent être ajoutés par notation IP:Port. Cependant, les proxys socks nécessitent un préfixesocks4://ousocks5://.*
positional arguments:
company_name Target company name
optional arguments:
-h, --help show help message and exit
-t TIMEOUT Max timeout per search (Default=15)
-j JITTER Jitter between requests (Default=1)
Search arguments:
--search ENGINE Search Engine (Default='google,bing')
Output arguments:
-f NFORMAT Format names, ex: 'domain\{f}{last}', '{first}.{last}@domain.com'
-o OUTFILE Change name of output file (omit_extension)
Proxy arguments:
--proxy PROXY Proxy requests (IP:Port)
--proxy-file PROXY Load proxies from file for rotation
Contribuez au projet en :