要使用Python来模拟抓包工具,可以使用scapy
库。下面是一个简单的示例代码,演示了如何使用Python和scapy来模拟抓包工具:
from scapy.all import *
def packet_handler(packet):
if packet.haslayer(TCP):
src_ip = packet[IP].src
dst_ip = packet[IP].dst
src_port = packet[TCP].sport
dst_port = packet[TCP].dport
print(f"Source IP: {src_ip}, Destination IP: {dst_ip}")
print(f"Source Port: {src_port}, Destination Port: {dst_port}")
# 使用sniff函数进行抓包,参数count表示要捕获的数据包数量
sniff(filter="tcp", prn=packet_handler, count=10)
在上面的代码中,我们首先导入了scapy
库,然后定义了一个packet_handler
函数来处理捕获到的数据包。在这个示例中,我们只处理TCP数据包,并打印出源IP、目标IP、源端口和目标端口。
最后,我们使用sniff
函数来开始捕获数据包。filter
参数可以用于过滤数据包,prn
参数指定了捕获到数据包时要调用的处理函数,count
参数指定了要捕获的数据包数量。
运行这个示例代码后,它将开始捕获数据包,并将打印出每个捕获到的TCP数据包的源IP、目标IP、源端口和目标端口。你可以根据需要自定义packet_handler
函数来处理数据包。