Libpcap - полученные и отправленные пакеты - PullRequest
0 голосов
/ 04 января 2019

Я использую libpcap для захвата всех пакетов на конкретном порту. Но мне нужно разделить и четко знать, какие пакеты отправляет мое устройство, а какие - получает. На самом деле я использую pcap_close() для захвата пакетов, и это работает хорошо; но struct pcap_pkthdr не содержит никакой информации, если пакет получен или отправлен.

У меня есть несколько вариантов, но я думаю, что все они не совсем хороши:

  • Я мог бы попытаться получить свой собственный IP-адрес и сравнить его с IP-адресом внутри IP Header, но всегда сложно проверить мой IP-адрес и сравнить его ...
  • Я мог бы сделать два фильтра pcap с одним src host и другим dest host. Но было бы бессмысленно иметь два таких фильтра, и я не знаю, как захватить с двумя отдельными фильтрами.

Итак, я не прав? Если нет, существует ли эффективный способ отделения полученных от отправленных пакетов? Спасибо!

1 Ответ

0 голосов
/ 06 января 2019

Исходный макинтош может сказать, входной или выходной. Если захваченный пакет имеет исходный Mac хоста, он является выходным, иначе он является входным.

...