2014-11-12 2 views

ответ

5

Для стека 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"); 
    } 
} 
+0

Благодарим за предоставленную ссылку на Сервисное имя/Карта порта. –

Смежные вопросы