J'essaie d'implémenter des paquets de relecture stockés dans des fichiers .pcap en utilisant libpcap. Le processus est très simple: je voudrais ouvrir le fichier pcap avec 'pcap_open_offline' puis passer les paquets à l'appareil ouvert avec pcap_open_live
, et les envoyer avec pcap_inject
à travers l'interface.pcap_inject sur une interface déconnectée
La carte réseau ne possède pas de câble Ethernet. Je sais que pcap_open_live
ne dira pas si le périphérique ouvert prend en charge l'envoi, donc j'obtiens des erreurs de pcap_inject (errno 100
). Doit on s'y attendre? Si j'utilise simplement tcpreplay de la ligne cmd, il se termine et ne présente aucune erreur, avec ou sans le câble Ethernet branché.
Quelqu'un sait comment tcpreplay/tcpedit gère les interfaces «mortes»? Est-ce que tcpreplay réécrit les en-têtes de paquets alors que j'essaie de les envoyer en raw? Toute aide est appréciée!
Je suis sur Ubuntu 14.04 et l'interface est adresse moins et en mode promisc:
auto eth1
iface eth1 inet manual
up ifconfig eth1 promisc up
down ifconfig eth1 promisc down
Merci Guy! J'ai vérifié que même si tcpreplay ne signale aucune erreur, les paquets ont bien été supprimés.J'allais utiliser la carte réseau comme une sorte de renifleur, et ne traiter que les paquets des fichiers pcap, mais il recevait des paquets du câble ethernet ... Je suppose que je dois juste en faire un non-promisc – icdevppl
ou je pourrais utiliser le dispositif de bouclage à cet effet .... souhaite qu'il y avait un livre de réseautage pour les nuls: P – icdevppl