当前位置: 首页 > news >正文

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 检查文件内容。

相关文章:

  • 【产品体验】豆包大模型实时语音本地化部署及功能体验
  • 2025年第十六届蓝桥杯省赛C++ 研究生组真题
  • 第四节:React Hooks进阶篇-useEffect依赖项为空数组[]与不写的区别
  • 如何修改服务器TTL值
  • [特殊字符] 第十三讲 | 地统计模拟与空间不确定性评估
  • Devil May Cry 4 SE (鬼泣4)运行报错 【由于找不到INPUT1_3.dll,无法继续执行代码。重新安装程序肯会解决此问题。】
  • 『Kubernetes(K8S) 入门进阶实战』实战入门 - Pod 详解
  • java之多线程
  • [Dify] 使用 Docker 本地部署 Dify 并集成 Ollama 模型的详细指南
  • Android监测顶层包名+类名
  • 动态规划(6)——01背包问题
  • 2025蓝桥杯JavaB组
  • jupyter notebook 无法启动- markupsafe导致
  • Day3—循环起来吧
  • 深入理解 PyTorch 的 nn.Embedding:词向量映射及变量 weight 的更新机制
  • 算法专题:双指针
  • 470用 Rand7() 实现 Rand10()
  • [MSPM0开发]之五 MSPM0G3507 SysTick定时器的配置与使用(systick中断实现延时函数)
  • 微信小程序运行机制详解
  • 单片机Day05---动态数码管显示01234567
  • 用wordpress建立电商网站/seo推广软件排名
  • 番禺做网站系统/手机百度ai入口
  • 专门做正品的网站手机版/淄博seo培训
  • 百度给做网站收费多少/成人教育培训机构
  • 做英文简历的网站/搜狐财经峰会
  • 培训web网站开发/如何建立电商平台