2017-08-13 4 views
0

J'envoie des paquets en utilisant:Comment capturer les paquets que vous envoyez dans Scapy?

 send(IP(dst="192.168.1.114")/fuzz(UDP()/NTP(version=4)), loop=1) 

Mais je ne suis pas en mesure de saisir ces paquets dans une autre machine à proximité (y compris celui avec 192.168.1.114 IP) qui est sur le même réseau. J'utilise wlan comme interface. J'ai également essayé de renifler et ensuite rejouer en utilisant scapy mais je ne suis toujours pas capable de capturer ces paquets.

Répondre

0

Je voudrais d'abord essayer de capturer le trafic sur la machine émettrice tcpdump lors de l'exécution de votre programme:

tcpdump -i any udp dst 192.168.1.114 

si vous pouvez voir le trafic quitte l'hôte source, il se peut qu'il ne se présente pas sur la hôte cible. Les paquets UDP sont les premiers paquets à être abandonnés par n'importe quel périphérique réseau et comme c'est la nature d'UDP, ils ne seront pas retransmis. Si vous êtes sûr que le paquet quitte la source, vérifiez s'il arrive à la cible:

tcpdump -i any upd dst 192.168.1.114 

Un autre point à vérifier est les paramètres de votre pare-feu. Ce peut être sur le système source ou sur le système cible que votre pare-feu bloque ces demandes.

+0

Je peux capturer le trafic sur la machine de l'expéditeur, mais pas sur l'hôte cible. J'ai aussi essayé d'éteindre le pare-feu. Aucun renifleur n'est capable de capturer les paquets joués par Scapy. – n0unc3

+0

@ n0unc3 avez-vous un commutateur de réseau professionnel sur lequel vous pouvez vider le trafic? pouvez-vous également voir quelques compteurs sur combien de paquets udp ont été déposés. – dom

0

J'ai finalement résolu cela. Voici la liste de contrôle que j'ai faite qui pourrait aider les autres lors de la relecture/fuzzing en utilisant scapy.

  1. Vérifiez si toutes les adresses IP que vous traitez sont vivants dans la (couche 2) (couche 3) et sendp() réseau (utilisation ping)
  2. Comprendre la différence entre send()
  3. Si
  4. paquet existant muter assurez-vous de enlever la somme de contrôle (en utilisant « del ») et recalcule la somme de contrôle soit à l'aide show2() ou en utilisant str pour convertir des paquets à chaîne puis en les convertissant en arrière aux paquets
0

Vous devez utiliser Wireshark, ou la fonction sniff dans Scapy et faire joli imprimer le contenu sur l'écran:

sniff(lambda x:x.show())