Gimbi,
我在工作中,只能解析和現在不發起Scapy的連接。所以我會解決你的第二個要求。我們正在尋找像我在這裏提供的東西。如果數據包包含html或一個http請求,那麼包含html和http請求的圖層就是(Raw).load我會首先測試該圖層是否存在(haslayer),然後如果數據包是'http數據包「這裏只是在IF語句中檢查80,但是你可能只是在sniff netfilter中使用這個端口,我已經包含了選項,可以直接從線上嗅探或者在這個片段中引入一個pcap(調整端口等如果你正在使用非標準)
#!/usr/bin/python -tt
from scapy import *
import sys
def parse(pkt):
if pkt.haslayer(TCP) and pkt.getlayer(TCP).dport == 80 and pkt.haslayer(Raw):
print pkt.getlayer(Raw).load
if '-l' in sys.argv:
sniff(prn=parse)
else:
pkts = rdpcap(sys.argv[1])
for pkt in pkts:
parse(pkt)
當然可以用這個作爲一個開始,你可以調整行8回暖不僅僅是DPORT也運動,例如,讓我知道,如果這有助於在所有的好運氣!
P.S.更改以下
from scapy import *
到
from scapy.all import *
取決於你的版本..