Как извлечь поле протокола, IP-адрес источника и IP-адрес назначения из автономного файла pcap с помощью библиотеки jnetpcap?
Извлечение сведений о пакете с помощью библиотеки jnetpcap
Ответы (1)
Для стека TCP/IP: мы можем получить протоколы на основе номера порта в заголовке tcp.
Номера портов, соответствующие различным протоколам, приведены по следующей ссылке: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
Получение протокола в библиотеке jnetpap ( http://jnetpcap.com ):
PcapPacket packet = //get from somewhere
Tcp tcp = new Tcp();
Ip4 ip = new IP4();
byte[] sIP = new byte[4];
byte[] dIP = new byte[4];
String sourceIP = "";
String destIP = "";
if(packet.hasHeader(ip) && packet.hasHeader(tcp)){
sIP = packet.getHeader(ip).source();
sourceIP = org.jnetpcap.packet.format.FormatUtils.ip(sIP);
dIP = packet.getHeader(ip).destination();
destIP = org.jnetpcap.packet.format.FormatUtils.ip(dIP);
System.out.println("*" + sourceIP + "*" + destIP);
System.out.println("Source IP" + sourceIP);
System.out.println("Destination IP" + destIP);
if(tcp.source() == 80){
System.out.println("HTTP protocol");
} else if(tcp.source == 23) {
System.out.println("Telnet protocol");
}
}
person
Aayush Rathore
schedule
24.11.2014
Благодарим Вас за предоставление ссылки на имя службы / карту портов.
- person Rajesh Kumar Raj; 12.05.2017