[英]Getting HTTP response codes from a pcap with Scapy
我正在使用scapy
讀取 pcap 文件,並且我有興趣查找異常,例如不尋常的 TCP 標志或 HTTP 代碼,如403
、 429
等。
我能夠使用 TCP 端口找出此流量屬於 HTTP 但如何獲取 HTTP 的狀態代碼和 HTTP 的標志和標志 Z293C9EA246FF9985DC6F62A650F78986A?
這是我到目前為止所做的:
for pkt in PcapReader(pcap):
if (TCP in pkt and (pkt[TCP].sport == 80 or pkt[TCP].dport === 80)):
pList.append(pkt)
如果您使用 Scapy 2.4.3+,您可以啟用 HTTP 插件並簡化您的代碼。 看:
此外,為了使用TCPSession
自動處理 HTTP 數據包,我將使用sniff(prn=)
而不是PcapReader
。 他們做同樣的事情。
from scapy.layers.http import *
from scapy.sessions import TCPSession
from scapy.sendrecv import sniff
plist = []
def func(pkt):
# called on each packet
if HTTP in pkt:
if HTTPResponse in pkt:
# status codes are only in responses
status = pkt[HTTPResponse].Status_Code
if int(status) in [403, 429]: # check code
plist.append(pkt)
sniff(offline="./my_file.pcap", prn=func, store=False, session=TCPSession)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.