HTTP数据包结构
以以下利用一段代码读取http数据包里的request内容:
创新互联建站2013年开创至今,先为下城等服务建站,下城等地企业,进行企业商务咨询服务。为下城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
#!/usr/bin/env python import scapy_http.http as http from scapy.all import * def process_tcp_packet(packet): if not packet.haslayer(http.HTTPRequest): return http_layer = packet.getlayer(http.HTTPRequest) print http_layer.show() ip_layer = packet.getlayer(IP) print '\n{0[src]} just requested a {1[Method]} {1[Host]}{1[Path]}'.format(ip_layer.fields, http_layer.fields) sniff(filter='tcp and port 80',prn=process_tcp_packet)
运行结果如下:
###[ HTTP Request ]###
Method = 'GET'
Path = '/'
Http-Version= 'HTTP/1.1'
Host = '192.168.32.142'
User-Agent= 'curl/7.60.0'
Accept = '*/*'
Accept-Language= None
Accept-Encoding= None
Accept-Charset= None
Referer = None
Authorization= None
Expect = None
From = None
If-Match = None
If-Modified-Since= None
If-None-Match= None
If-Range = None
If-Unmodified-Since= None
Max-Forwards= None
Proxy-Authorization= None
Range = None
TE = None
Cache-Control= None
Connection= None
Date = None
Pragma = None
Trailer = None
Transfer-Encoding= None
Upgrade = None
Via = None
Warning = None
Keep-Alive= None
Allow = None
Content-Encoding= None
Content-Language= None
Content-Length= None
Content-Location= None
Content-MD5= None
Content-Range= None
Content-Type= None
Expires = None
Last-Modified= None
Cookie = None
Headers = 'Host: 192.168.32.142\r\nAccept: */*\r\nUser-Agent: curl/7.60.0'
Additional-Headers= None
192.168.32.10 just requested a GET 192.168.32.142/
文章名称:HTTP数据包结构
网站路径:http://hbruida.cn/article/ggpsep.html