Scapy——捕获网络流量(本机Win+虚拟机Ubuntu)

1、简介

  • Scapy 是一个强大的 Python 程序库,用于网络数据包处理、生成和嗅探。它提供了对网络层和传输层的深入控制,允许用户创建、修改、发送和接收数据包。
  • 主要功能:
    • 数据包生成
      • 可以轻松生成各种类型的网络数据包,包括以太网帧、IP 数据包、TCP/UDP 数据包等。
      • 支持多种协议栈组合,用户可以自定义数据包的各个字段。
    • 数据包嗅探
      • 能够捕获网络上的实时数据包,支持各种过滤条件。
      • 捕获的数据包可以被进一步处理和分析。
    • 数据包操作
      • 数据包的分解和解析,可以详细查看每一层协议的字段值。
      • 可以修改捕获到的数据包并重新发送。
    • 网络攻击和测试
      • 可用于模拟和执行各种网络攻击,如ARP欺骗、DoS攻击等。
      • 适用于渗透测试和安全研究。

2、步骤

  • 前提:在VM虚拟机(Ubuntu)上运行FTP服务器,使用本机(Win)连接该服务器,并发送命令。在本机使用Scapy库捕获通信流量。
  • 安装Scapy库。
    • pip install scapy
  • 编写程序捕获流量。
    • from scapy.all import *
      
      
      # 定义一个回调函数来处理捕获到的数据包
      def packet_callback(packet):
          print("Packet captured:")
          packet.show()
          # 将捕获的数据包追加到 packets 列表中
          packets.append(packet)
      
      
      # 指定接口
      interface = "VMware Network Adapter VMnet8"  # 替换为你的实际接口名称
      
      # 创建一个空列表来存储捕获的数据包
      packets = []
      
      # 开始嗅探并捕获数据包
      sniff(iface=interface, filter="ftp", prn=packet_callback, store=0)
      
      # 将捕获的数据包保存到文件
      wrpcap('captured_packets.pcap', packets)
    • 由于主机和虚拟机之间使用NAT网络,需要监听VMware Network Adapter VMnet8上的网络流量。
  • 运行FTP服务器。参考:FTP协议——LightFTP安装(Linux)-CSDN博客
  • 运行监听程序。
  • 本机打开终端,连接FTP服务器。指定虚拟机的ip地址。(在虚拟机中查看)
    • ftp xxx.xxx.xxx.xxx
  • 连接后执行操作,ctrl+c终止监听,获得pcap文件。

相关推荐

  1. ubuntu通过virtualbox安装win虚拟

    2024-06-13 06:04:04       24 阅读
  2. 虚拟 网络模式

    2024-06-13 06:04:04       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-13 06:04:04       10 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-13 06:04:04       12 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-13 06:04:04       11 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-13 06:04:04       13 阅读

热门阅读

  1. Lua与C交互API接口总结

    2024-06-13 06:04:04       5 阅读
  2. 华为AR路由器配置防攻击策略

    2024-06-13 06:04:04       5 阅读
  3. kotlin 语法糖

    2024-06-13 06:04:04       5 阅读
  4. Web前端后端结合:深度解析与实战策略

    2024-06-13 06:04:04       4 阅读
  5. 字节跳动基础架构两篇论文入选 VLDB 2024

    2024-06-13 06:04:04       4 阅读
  6. payable介绍, 编写一个转账的测试合约

    2024-06-13 06:04:04       5 阅读
  7. git 常用命令

    2024-06-13 06:04:04       4 阅读
  8. 理解 Vue 中的响应式系统

    2024-06-13 06:04:04       4 阅读
  9. Springer投稿流程——Cybersecurity

    2024-06-13 06:04:04       7 阅读