Как получить подробности протокола из пакетов, хранящихся в файле pcap

Я хочу сделать цикл коммутации (в Java), чьи случаи являются протоколом заголовка ip пакетов, хранящихся в файле pcap.

Я использую библиотеку jnetpcap для доступа к пакетам.

Я знаю, как получить IP-адрес, номера портов и т. Д. Из пакета, но я хочу знать , существует ли функция, которая напрямую сообщает мне протокол пакета, например, tcp, udp, icmp и т. Д. Можно также предложить, если он / она знает любую другую библиотеку, которая имеет такую ​​функцию.

Заранее спасибо.

2 ответа

Решение

Я нашел ответ сам:

используя библиотеку JNETPCAP,
Для стека TCP/IP: мы можем получить протоколы на основе номера порта заголовка tcp

Номера портов, соответствующие различным протоколам, приведены по следующей ссылке: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

Получение протокола в jnetpap:
PcapPacket packet = // получить откуда-то

Tcp tcp = new Tcp ();
Ip4 ip = новый IP4();

если (packet.hasHeader(ф)&&packet.hasHeader(TCP)){
если (tcp.source () == 80) {
System.out.println ("протокол HTTP");
еще, если (tcp.source == 23)
System.out.println ("Протокол Telnet");

}

Существует библиотека jpcap, из которой доступны встроенные функции для извлечения протокола пакета и других деталей.

Другие вопросы по тегам