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

标签: none

评论已关闭