scapy使用

https://scapy.readthedocs.io/en/latest/introduction.html

在 Mac 上使用 Scapy 抓取特定 IP 的流量并保存到 a.pcap 的步骤如下:

步骤 1:安装 Scapy

在终端中执行以下命令安装:

pip install scapy

步骤 2:创建 Python 脚本

将以下代码保存为 capture.py,替换 192.168.1.100 为目标 IP:

from scapy.all import *

# 抓包配置
target_ip = "192.168.1.100"  # 替换为目标IP
interface = "en0"            # Mac常用网卡(ifconfig查看)
timeout = 30                 # 抓包时长(秒)

# 抓取特定IP的流量
packets = sniff(
    filter=f"host {target_ip}",  # BPF过滤器
    iface=interface,
    timeout=timeout,
    store=True
)

# 保存到文件
wrpcap("a.pcap", packets)
print(f"已捕获 {len(packets)} 个数据包,保存到 a.pcap")

步骤 3:赋予权限并运行脚本

Scapy 需要 root 权限访问网卡,使用 sudo 运行:

sudo python3 capture.py

高级配置(可选)

  1. 实时写入:大量数据时逐包写入(可能影响性能):

    def save_packet(pkt):
        wrpcap("a.pcap", pkt, append=True)
    
    sniff(prn=save_packet, filter="host 192.168.1.100", iface="en0")
    
  2. 持续抓包:去掉 timeoutCtrl+C 停止:

    packets = sniff(filter="host 192.168.1.100", iface="en0")
    

验证结果

用 Wireshark 或 tcpdump -r a.pcap 检查文件内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值