P0f est un outil de prise d'empreintes réseau passif, sous licence GNU LGPL. Cela veut dire qu'il analyse les connexions réseaux TCP/IP, même incomplètes, pour essayer d'en faire ressortir certaines caractéristiques (par exemple les flags TCP utilisés ou la taille des paquets) et ainsi en déduire l'identité (l'OS, la version du noyau) des ordinateurs derrière ces connexions.
Mais contrairement à nmap, il fonctionne de manière totalement passive, sans interférer avec les connexions TCP/IP en cours, là où nmap forge des paquets spécifiques. Nmap est donc capable d'identifier beaucoup plus rapidement l'OS derrière une adresse IP en forçant celle-ci à répondre à certaines requêtes très particulières et préparées dans ce but. Cela veut aussi dire que nmap a un comportement agressif, facile à repérer sur un réseau et pouvant mettre à mal certains équipements exotiques. P0f est plus conservateur, ce qui un avantage pour le faire tourner en continu sur un environnement de production.
La version 3.0.0 de p0f vient de sortir. C'est une réécriture complète qui apporte un certain nombre d'améliorations, dont la principale est de pouvoir analyser les charges au niveau applicatif (HTTP par exemple). Une démo est présente sur le site web de p0f : elle montre quelques caractéristiques récoltées par p0f à propos de votre adresse IP.
Aller plus loin
- p0f v3 (1753 clics)
- README de p0f v3 (225 clics)
# Quelques précisions
Posté par UnixJunkie . Évalué à 10.
p0f n'est pas forcément plus lent, au contraire, un simple SYN ou un SYN|ACK lui suffisent souvent. La différence avec nmap se situe plus dans la précision. Avec des sondes plus spécifiques, nmap peut détecter bien plus de nuances dans les implémentations des piles TCP/IP.
Un autre point de distinction est la capacité de p0f à travailler sur un fichier pcap (capture de paquets).
# Question de la part d'un néophyte
Posté par fearan . Évalué à 7.
Ça s'installe où et comment ?
Pour un nmap, je vois bien, on donne l'adresse de la cible, il tente deux trois trucs, se fait bannir .
Pour POf, il fait comment? On l'installe sur un switch? On fait un pont? On attend d'être contacté par la machine ? Car avec nos réseaux commutés en étoile je vois pas trop comment intercepter les paquets ;)
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Question de la part d'un néophyte
Posté par passant·e . Évalué à 7.
plusieurs possibilités
mode sympa : tu configures le switch pour qu'il retourne tout le traffic sur un port donné
mode coquin : t'envoie un mail à tes collègues avec un lien sur ta machine
mode agressif : t'exécute le programme macof (dsniff toussa) qui va flooder le swtich de requêtes arp et hop ça devient (dans pas mal de cas) un hub.
ensuite plus qu'à renifler tout ça.
Je trolle dès quand ça parle business, sécurité et sciences sociales
[^] # Re: Question de la part d'un néophyte
Posté par FantastIX . Évalué à 3.
Ces trois modes déportent juste l'«agressivité» du côté utilisateur et spécialement l'admin réseau... qui n'a pas toujours la possibilité d'agir sur les switches, non? Et si p0f se base uniquement sur les broadcasts en mode promiscuous?
[^] # Re: Question de la part d'un néophyte
Posté par Batchyx . Évalué à 2.
Si la machine héberge un service que tu peux utiliser légitimement (exemple bateau: serveur web public), tu peux tout simplement ... l'utiliser et capturer le trafic sur ta machine en même temps.
Et à mon avis, tu couvre une bonne partie des besoins rien qu'avec ce cas là. Pas tous, évidement...
[^] # Re: Question de la part d'un néophyte
Posté par Krunch (site web personnel) . Évalué à 4.
Ou bien tu l'installes sur une machines qui va se connecter « légitimement » à la cible. Il faut évidemment que la cible réponde. Dans les versions précédentes de p0f on pouvait même fingerprinter un système qui refuse la connexion mais je ne vois plus cette option dans la v3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# empreintes réseau, pas que
Posté par steph1978 . Évalué à 3.
Merci pour la news.
À la lecture, la dépêche ne me semble ba clair sur l'intérêt de remonter dans les protocoles applicatifs pour réaliser une empreinte OS.
Le readme me semble plus clair: cela permet d'avoir d'autre information, comme le nat, la proxification, le navigateur.
Accessoirement, comme le readme est dynamique et fait l'analyse sur votre requête http, cela permet de voir que certaines protections (sous forme d'extension FF ou autre), semblent bien tromper leur monde :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.