首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用scapy过滤HTTP Get请求数据包

使用scapy过滤HTTP Get请求数据包
EN

Stack Overflow用户
提问于 2020-08-09 09:59:05
回答 2查看 2.2K关注 0票数 1

我试图通过使用数据包的原始信息来过滤HTTP Get请求数据包,以确定哪个数据包是Get请求,哪个不是,但我找不到解码数据包的原始部分的方法,看起来像这样(不确定该数据包是否为HTTP Get请求):

代码语言:javascript
复制
<Raw  `load="\x17\x03\x03\x00m\xb8G\xdb\n\xff\x94s\x90y\xe3y\xfa\xa1\x81[-\x05\xf8'Jpq\xf3\x98\xa0\x04d\x08N\xf6\x08\x93\xb1\xd9\xed\xc4^;\xc15\xf2D\xa7\xb4_\x95\x8f\x14l5~[9\xb0\x9f^EI\xbb\xcd\x89\x06\x11`\xa2\xbf\xdd\x8b\x14y!\xae\xbe-D&DW\x96\xf7\xcf\x19\xb0_\xba\xe80b\x9c\xe6\xee\x9c\xf3\xbb\r\x87c\xff\xf9G\xf6K\x8fn\rS\x83?\x05" |>`

有没有一种已知的方法来做到这一点。我已经尝试了下一个过滤器:

代码语言:javascript
复制
def http_get_filter(packet):
       return (TCP in packet and Raw in packet and 
       str(packet[Raw]).startswith('GET'))

但它没有起作用,并引发了下一个异常:

代码语言:javascript
复制
WARNING: Calling str(pkt) on Python 3 makes no sense!
WARNING: Calling str(pkt) on Python 3 makes no sense!
WARNING: more Calling str(pkt) on Python 3 makes no sense!
WARNING: Calling str(pkt) on Python 3 makes no sense!
WARNING: Calling str(pkt) on Python 3 makes no sense!
WARNING: more Calling str(pkt) on Python 3 makes no sense!

我使用的是python 3.6版本和scapy 2.4.4rc2版本。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2021-08-04 19:27:54

这个警告是针对packet.py源代码的,不是针对python编译器的:

警告(“在Python3上调用str(pkt)毫无意义!”)

然后,基于源代码,bytes函数返回一个可分析的字节数组,而不会触发警告:

代码语言:javascript
复制
...
if six.PY2:
    def __str__(self):
        # type: () -> str
        return self.build()
else:
    def __str__(self):
        # type: () -> str
        warning("Calling str(pkt) on Python 3 makes no sense!")
        return str(self.build())

def __bytes__(self):
    # type: () -> bytes
    return self.build()
...

与其使用字符串(数据包),不如使用字节(数据包)

对于将字节数组转换为字符串:

代码语言:javascript
复制
packetstr = "".join(map(chr, bytes(packet)))
票数 2
EN

Stack Overflow用户

发布于 2021-08-14 08:08:13

你可以尝试一些类似的东西:

代码语言:javascript
复制
if packet.haslayer(Raw):
   data = str(packet.getlayer(Raw))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63321812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档