数据包已经截获了,怎样分析是http数据包解决方案

数据包已经截获了,怎样分析是http数据包
用wincap截获了数据包
想解析出http的请求的url地址
不知道该如何分析
通过端口吗,感觉不太科学
------解决方案--------------------
都截到数据包了还不好分析吗?
http头第一行就是url,host字段就是主机,加起来就是完整的URL
------解决方案--------------------
引用:
Quote: 引用:

都截到数据包了还不好分析吗?
http头第一行就是url,host字段就是主机,加起来就是完整的URL


怎样根据IP包分析出这个是http 的包呢
因为ip包有些是tcp,有些是udp的
tcp包可以区分出来,但是tcp包的种类很多,http只是其中一种,不知道怎样区别


http基于tcp,说白了就是一堆二进制数据,但是http包一般都是访问的80端口,而且http头一般都是以get、post、head开始的,这个就足以判断是不是http包了
还可以再进一步筛选,http头结尾肯定是0D0A0D0A,也就是两个换行符

所以可以得出一个办法,数据包以get、post、head、put等等字符开头时,且这个数据包中含有连续的2个换行符0d0a0d0a,就可以认为是http包,然后从数据包第1个字符取数据到0d0a0d0a,这时得到的就是http包头,然后逐行分析字符串,第一行是url,host字段那行是主机名,加起来便是完整的url
------解决方案--------------------
引用:
Quote: 引用:

都截到数据包了还不好分析吗?
http头第一行就是url,host字段就是主机,加起来就是完整的URL


怎样根据IP包分析出这个是http 的包呢
因为ip包有些是tcp,有些是udp的
tcp包可以区分出来,但是tcp包的种类很多,http只是其中一种,不知道怎样区别

HTTP的第一行,最后是HTTP/1.0,HTTP/1.1这样的
------解决方案--------------------
wireshark过滤就行了
------解决方案--------------------
是啊,用wireshark就可以,
------解决方案--------------------
根据ip层包的上层协议字段看应用层是否是http协议。
http请求首行GET /***资源位置
host:/****服务器位置
 自己拼出来
------解决方案--------------------
先解掉链路层的mac,再看ip层是否是tcp的,再一层一层往下解