# 示例代码:使用 Scapy 库进行抓包
from scapy.all import sniff, IP
# 定义一个回调函数,用于处理每个捕获到的数据包
def packet_callback(packet):
if IP in packet:
ip_src = packet[IP].src
ip_dst = packet[IP].dst
print(f"Captured packet: Src IP: {ip_src}, Dst IP: {ip_dst}")
# 开始抓包,过滤只抓取 IP 数据包,并指定回调函数处理每个数据包
sniff(filter="ip", prn=packet_callback, count=10)
# 解释说明:
# 1. 使用 Scapy 库的 sniff 函数来抓取网络数据包。
# 2. filter 参数用于指定抓包的过滤条件,这里只抓取 IP 数据包。
# 3. prn 参数指定一个回调函数,每当捕获到一个数据包时会调用该函数。
# 4. count 参数指定抓取的数据包数量,这里是 10 个。
# 5. 在回调函数中,我们检查数据包是否包含 IP 层信息,并打印源 IP 和目的 IP。
如果你需要安装 Scapy 库,可以使用以下命令:
pip install scapy
上一篇:python 日期格式
下一篇:sorted函数python用法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站