Извлечение протокола сетевых пакетов с использованием PCAP.Net
Для разбора сетевого трафика я использую PCAP.Net
(Я запускаю splitcap для данного файла PCAP и использую PCAP.Net для извлечения данных связи из полученных файлов bin).
Можно ли получить протокол (HTTP, FTP и т. Д.), Который используется в конкретном пакете (не зависит от номера порта) с использованием PCAP.Net?
2 ответа
Протоколы HTTP и FTP распознаются портами. Содержание также может помочь.
Насколько я знаю, нет другого способа распознать такие пакеты.
Pcap.Net не может дать вам протокол пакета, потому что нет способа сделать это.
Вы можете угадать протокол, подобный тому, как Wireshark угадывает его, используя порты, контент и другие пакеты.
Я знаю, что этому уже несколько лет, но, используя PCAP.net 1.0.2.76195 (на момент написания этой статьи было несколько лет), вы можете получить его очень просто, например
packet.Ethernet.IpV4.Protocol
Например, читая пакет icmp вот так
Console.WriteLine(packet.Ethernet.IpV4.Protocol.ToString())
Показывает это
InternetControlMessageProtocol
TCP-пакет отображается как
Tcp