[英]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.