python 抓取 HTTP request?
import pcap #安装的是pypcap,本博客有安装方法,不过也比较乱,试试吧。
import dpkt
import socket
pc = pcap.pcap()
for ptime, pdata in pc:
eth = dpkt.ethernet.Ethernet(pdata)
if eth.data.__class__.__name__ == 'IP':
ip = eth.data;
src = socket.inet_ntoa(ip.src);
dst = socket.inet_ntoa(ip.dst);
tcp = ip.data; # tcp.dport tcp.sport
try:
request = dpkt.http.Request(tcp.data)
except (dpkt.dpkt.NeedData, dpkt.dpkt.UnpackError):
continue
if request.headers['host']=='www.****.com':#自行替换需要抓的网站。
print(request)
host=request.headers['host']
connection= request.headers['connection']
accept=request.headers['accept']
user_agent = request.headers['user-agent']
accept_encoding=request.headers['accept-encoding']
accept_language=request.headers['accept-language']
cookie=request.headers['cookie']
break
print('-----------')
print('host->%s'%host)
print('connection->%s'%connection)
print('accept->%s'%accept)
print('user_agent->%s'%user_agent)
print('accept_encoding->%s'%accept_encoding)
print('accept_language->%s'%accept_language)
print('cookie->%s'%cookie)
转载地址:https://www.zhihu.com/question/265494765
https://www.cnblogs.com/MikeZhang/archive/2022/10/29/pythonUseLibpcap20221029.html
评论已关闭