python - 使用 Scapy 过滤 HTTP 数据包

标签 python http scapy

我正在尝试为包含 HTTP 数据的数据包制作过滤器,但我不知道如何做。

即有没有办法使用 Scapy 过滤仅 HTTP 的数据包?

最佳答案

是的,有 .haslayer 函数和一些解析:

methods=['GET','POST','HEAD','PUT','DELETE','CONNECT','OPTIONS','TRACE']#Define http methods
s=sniff(1)#sniff one packet to parse you can put this in a loop
a=[]
a.append(s[0])
if a[0].haslayer(TCP):#Checks for TCP protocol
 if a[0].dport == 80:#Checks for http port 80
  if a[0].haslayer(Raw):#Checks if packet has payload
   r=a[0][0][Raw].load
   for i in methods:#Checks if any of the http methods are present in load, if there are it prints to screen
    if i in r:
     print r

关于python - 使用 Scapy 过滤 HTTP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44679656/

相关文章:

http - 检查是否更新网页

java - Java 中的 HTTP 编程?

OutputStream 上的 Java 自动 HTTP header

python - 在 Mac 上安装 Scapy : "ImportError: No module named pcapy"

c - 使用 Scapy 与 C 套接字通信

Python:对于字符串列表:拉出字符串中的第一个 3-6 位数字和同一字符串中的第二个 3-6 位数字,并用空格分隔

python - 如何给定时器线程一个名字?

python - 使用 pyodbc 将 Raspberry Pi 3 连接到 MSSQL Server

python - 如何将http header 添加到使用scapy嗅探的数据包中

javascript - 如何从 HTML 中抓取表格并在 Python 中创建 Excel 工作表?