windows - java用jpcap怎么识别出http和https的数据包?
巴扎黑
巴扎黑 2017-04-18 10:54:29
0
1
427

问题简述:
利用java的第三方库jpcap写抓包程序,求解怎么识别出http和https的数据包(就只要能判断出是http协议或https协议即可)。

测试的解法:
1.在tcp包(jpcap自带TCPPacket类比较方便识别tcp包)的基础上用80端口和443端口区分http和https,但是连tcp都识别成http或https了(不成功)。
2.设法找出http或https特有而tcp没有的字段,未能找出。

代码示意(未完成):
` else if(packet instanceof jpcap.packet.ICMPPacket) {

                  packetprocol = "ICMP";
                  r.addElement(packetprocol);
              }
              else if(packet instanceof jpcap.packet.TCPPacket) {
                  TCPPacket tcppacket = (TCPPacket)packet;
                  //if((tcppacket.src_port==80||tcppacket.dst_port==80)&&tcppacket.) {
                      packetprocol = "HTTP";
                      r.addElement(packetprocol);
                  }else if(tcppacket.src_port==443||tcppacket.dst_port==443) {
                      packetprocol = "HTTPS";
                      r.addElement(packetprocol);
                  }
                  else {
                      packetprocol = "TCP";
                      r.addElement(packetprocol);
                  }` 
巴扎黑
巴扎黑

membalas semua(1)
阿神

Penyelesaian sementara:
Tentukan sama ada medan data paket tcp yang ditangkap mengandungi rentetan "HTTP".
Kelemahan:
1 Selepas membandingkan dengan wireshark, kami mendapati bahawa beberapa paket tcp dalam medan data wireshark mempunyai HTTP dan diiktiraf sebagai tcp dan bukannya http (saya tidak tahu cara wireshark menghuraikannya).
2. Rasanya penghakiman akan terlepas dan tidak cukup tepat.
Teruskan mencari penyelesaian yang lebih baik dan menantikan jawapan!

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!