繁体   English   中英

Python Scapy http嗅探器澄清

[英]Python Scapy http sniffer clarification

我试图了解如何在python scapy中制作http嗅探器,这是我试图了解的代码

#!/usr/bin/python
from scapy.all import *

def http_header(packet):
        http_packet=str(packet)
        if http_packet.find('GET'):
                return GET_print(packet)

def GET_print(packet1):
    ret = "***************************************GET PACKET****************************************************\n"
    ret += "\n".join(packet1.sprintf("{Raw:%Raw.load%}\n").split(r"\r\n"))
    ret += "*****************************************************************************************************\n"
    return ret

sniff(iface='eth0', prn=http_header, filter="tcp port 80")

但是我不明白什么是GET_print函数,实际上我知道join()split(r"\\r\\n")应该以简单的方式做什么,但是我不知道sprintf("{Raw:%Raw.load%}\\n")做这里,当把它们绑在一起时,我不明白

我只想简单澄清一下此行"\\n".join(packet1.sprintf("{Raw:%Raw.load%}\\n").split(r"\\r\\n"))必须做什么

注意这是我得到此代码的地方: Scapy中的HTTP GET数据包嗅探器

sprintf只是Scapy数据包上可用的一种有用的方法,它使您能够以指定的格式构造字符串,并用所需数据包中的数据填充它。 请参阅此处以获取解释。 %Raw.load%指定您想要数据包中的原始有效负载-此处将与HTTP请求字符串(“ GET / HTTP / 1.1 ....”)相对应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM