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)

  

 posted on 2023-08-07 11:17  boye169  阅读(292)  评论(0编辑  收藏  举报