Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从TCP数据包中获取HTTP正文_Java_Http_Tcp_Packet Sniffers - Fatal编程技术网

Java 如何从TCP数据包中获取HTTP正文

Java 如何从TCP数据包中获取HTTP正文,java,http,tcp,packet-sniffers,Java,Http,Tcp,Packet Sniffers,我有下面的代码,我使用pcap4j嗅探数据包并得到响应。我将数据包转换为TCP数据包并尝试获取原始数据。我能够获取所有的头,但HTTP响应体显示垃圾值 代码: public void gotPacket(Packet packet) { TcpPacket tcpPacket = packet.get(TcpPacket.class); try { if(tcpPacket.getPayload()!=null) {

我有下面的代码,我使用pcap4j嗅探数据包并得到响应。我将数据包转换为TCP数据包并尝试获取原始数据。我能够获取所有的头,但HTTP响应体显示垃圾值

代码:

 public void gotPacket(Packet packet) {
               TcpPacket tcpPacket = packet.get(TcpPacket.class);
  try {
          if(tcpPacket.getPayload()!=null) {
                        String hexStreamData = new String(tcpPacket.getPayload().getRawData(),"UTF-8");
                        System.out.println(hexStreamData);
             }
    } catch (Exception  e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
我得到的输出如下

HTTP/1.1 200 OK
Xet-Cookie: dp1=bu1p/QEBfX0BAX19AQA**62f4c24b^;Domain=.abc.com;Expires=Thu, 11-Aug-2022 08:48:11 GMT;Path=/ 
Set-Cookie: s=CgAD4ACBfM6zLZDAxNjgasdvsfNzMwYTRlMdsfsdfgwZmZmZGI2YTZqfLYV;Domain=.abc.com;Path=/; HttpOnly 
Set-Cookie: nonsession=CgADLAAFfMmJTNxcafMJLMWNlZDQ0ZjUxNzMwYTRdsfsdYzMTc0Y2E0ZmZmZjNkM2Zyr0xe;Domain=.abc.com;Expires=Thu, 11-Aug-2022 08:48:11 GMT;Path=/ 
Content-Encoding: gzip
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 11 Aug 2020 08:48:10 GMT


11f
���Ok�0��"9����I�L�x�Mٱd鯵�&%y�Q���Vs��v�������p:�|)I��J����N7&5���#Q馜�X�)�  ��<o�x�LG
���xje���v����"�A�S�k�[��O��&�0x)S��O&&�c�7�o��)�ZE���D�e�Z��&��|����sT���h/�:������ZW�V�:���̬01�+��ߨo�WH{�Ft�1G�*�0O��s�z=�,;����N㍮���._�3��
0
HTTP/1.1200正常
Xet Cookie:dp1=bu1p/QEBfX0BAX19AQA**62f4c24b^;域名=.abc.com;Expires=周四,2022年8月11日08:48:11格林威治标准时间;路径=/
设置Cookie:s=cgad4acbfm6zlzdaxnjgasvsfnzmwytrlmdsfsdfgwzmzmi2ytzfylv;域名=.abc.com;路径=/;HttpOnly
设置Cookie:nonsession=cgadlaaffmmjtnxcafmjllmwnlzdq0zjuxnzmwytrdsfdyzmtc0y2e0zmzmzjnkm2 zyr0xe;域名=.abc.com;Expires=周四,2022年8月11日08:48:11格林威治标准时间;路径=/
内容编码:gzip
内容类型:application/json
传输编码:分块
日期:2020年8月11日星期二08:48:10 GMT
11f

���好啊�0��"9����我�L�x�Mٱd鯵�&%Y�Q���Vs��v�������p:�|)我��J����N7和5���#Q馜�X�)� ��
Content Encoding:gzip
正文通过
gzip
进行压缩。请参阅
Content Encoding:gzip
响应头。是否可以使用pcap4j
Content Encoding:gzip
从TCP数据包获取有效负载正文通过
gzip
进行压缩。请参阅
Content Encoding:gzip
响应头可以使用pcap4j从TCP数据包获取有效负载