Scapy方式
Scapy是一个强大的Python库,可用于创建、发送和解码网络数据包。它能够抓取和处理各种网络层协议、载荷和报头信息。 Scapy是一个全能的库,包含各种工具和功能。该库具有灵活性、可扩展性和实用性
from scapy.all import * pkts = sniff(iface="eth0", count=10) for pkt in pkts: print(pkt.summary())
Pyshark方式
Pyshark是一个使用Wireshark解码器的Python库,它提供了一种更简单、更高级的方式来分析数据包。使用Pyshark,您可以轻松地捕获和分析网络流量。 Pyshark提供了一系列高级功能来管理特定的协议、过滤数据包、生成图形统计数据以及更多功能。
import pyshark cap = pyshark.FileCapture('sample.pcap') for pkt in cap: print(pkt)
Tcpdump
Tcpdump是一个流行的命令行工具,用于抓取和分析网络数据包。 Python中的 'subprocess'模块可以调用tcpdump命令来启动抓包进程。 然后,通过捕获输出,您可以执行各种操作
import subprocess proc = subprocess.Popen(["tcpdump", "-i", "eth0", "-c", "10"], stdout=subprocess.PIPE) for line in iter(proc.stdout.readline, ''): print(line)