import scapy.all as scapy
def packet_callback(packet):
# 打印每个抓取到的数据包的摘要信息
print(packet.summary())
def main():
# 使用scapy的sniff函数进行抓包,指定回调函数为packet_callback
scapy.sniff(prn=packet_callback)
if __name__ == "__main__":
main()
导入Scapy库:
import scapy.all as scapy
:导入Scapy库的所有功能。Scapy是一个强大的Python库,用于网络数据包操作和分析。定义回调函数:
def packet_callback(packet)
:这是一个回调函数,每当抓取到一个数据包时,Scapy会调用这个函数,并将抓取到的数据包作为参数传递给它。print(packet.summary())
:打印每个抓取到的数据包的摘要信息。摘要信息包括源IP、目的IP、协议类型等基本信息。主函数:
def main()
:定义主函数。scapy.sniff(prn=packet_callback)
:使用Scapy的sniff
函数进行抓包。prn
参数指定了抓包后要调用的回调函数。运行程序:
if __name__ == "__main__":
:确保当脚本被直接运行时,才会执行main()
函数中的代码。这个示例代码展示了如何使用Scapy库进行简单的网络抓包操作,并打印每个抓取到的数据包的摘要信息。你可以根据需要进一步扩展和修改代码,例如过滤特定类型的包或保存抓取到的数据包。
下一篇:python中列表
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站