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

2024-06-13 04:28

本文主要是介绍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文件。

这篇关于Scapy——捕获网络流量(本机Win+虚拟机Ubuntu)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1056271

相关文章

在Ubuntu 14.04上安装和配置SNMP守护程序和客户端的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 介绍 作为系统管理员的重要工作之一是收集关于服务器和基础设施的准确信息。有许多工具和选项可用于收集和处理这种类型的信息。其中许多工具都是建立在一种叫做 SNMP 的技术之上。 SNMP 代表简单网络管理协议。它是服务器可以共享关于其当前状态的信息的一种方式,也是管理员可以修改预定义值的通道。虽

ssh在本地虚拟机中的应用——解决虚拟机中编写和阅读代码不方便问题的一个小技巧

虚拟机中编程小技巧分享——ssh的使用 事情的起因是这样的:前几天一位工程师过来我这边,他看到我在主机和虚拟机运行了两个vscode环境,不经意间提了句:“这么艰苦的环境写代码啊”。 后来我一想:确实。 我长时间以来都是直接在虚拟机里写的代码,但是毕竟是虚拟机嘛,有时候编辑器没那么流畅,在文件比较多的时候跳转很麻烦,容易卡住。因此,我当晚简单思考了一下,想到了一个可行的解决方法——即用ssh

虚拟机常用参数汇总

内存分配相关 -Xmx 堆的大小上限 -Xms 堆区内存初始内存分配的大小 -XX:MaxPermSize 永久代上限 -XX:SurvivorRatio Eden与Survivor区的比例 -XX:+/-UseTLAB 是否使用TLAB来创建对象 -XX:PretenureSizeThreshold 晋升老年代对象大小 -XX:NewRatio 新生代(Eden+2S)和老年代的

Ubuntu 16.04 Qt5安装qtcharts

Qtcreator5.5安装qchart,首先下载qtcharts,然后进入该路径下,qmake一下。 $git clone https://github.com/qtproject/qtcharts.git $cd qtcharts $qmake 这时会出现问题是’qtConfig’ is nit a recongnized test function 这时输入: $git che

在Ubuntu 12.04 LTS上安装Python3.4.x

在Ubuntu 12.04 LTS上安装Python3.4.x 想重新把python捡起来继续学习,顺便学习下linux的基本操作,所以在ubuntu上面配置了一下python3的环境,找了不少教程,找到一篇很不错的! 原文链接在Ubuntu 12.04 LTS上安装Python3.3.x 我的python版本是3.4.2,根据教程配置成功。 Python3.3.2是Python3最

C语言封装获取本机IP地址的程序

文章目录 0.概要1. 设计2. 完整的代码`ip_address.h``ip_address.c``main.c`编译命令执行结果 0.概要 本文介绍用C语言编写一个函数来获取本机的IP地址。 1. 设计 将获取IP地址的逻辑封装到一个独立的函数中,并定义一个结构体来存储IP地址和接口名称。 将获取IP地址的逻辑封装到一个函数中,该函数遍历本机的所有网络接口并获取其IP

Ubuntu安装火狐Flash Player插件

1、进入官网下载页面选择:.tar.gz,适用于其他Linux。此次文件名为install_flash_player_11_linux.x86_64.tar.gz 2、解压文件 tar -zxvf install_flash_player_11_linux.x86_64.tar.gz 3、利用whereis命令查找mozilla文件夹的路径 whereis mozill

ubuntu 18.04 server源码编译安装freeswitch 1.10.11——筑梦之路

前言 这里主要编译支持语音通话、视频通话、短信、webrtc功能的PBX。 安装编译工具包和依赖包 sudo apt-get updatesudo apt-get install -y autoconf git libtool g++ zlib1g-dev libjpeg-dev libcurl4-openssl-dev libspeex-dev libldns-dev libedit-de

Spring Cloud - nacos +ubuntu环境搭建

1、安装ubuntu虚拟环境         VMware虚拟机安装Ubuntu与配置Ubuntu(超详细教程) 2、docker环境安装         1、apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common         2、curl -fsSL

读书· 深入理解Java虚拟机

前言Java内存区域运行时数据区1.程序计数器2.Java虚拟机栈3.本地方法栈4.Java堆5.方法区 内存溢出和垃圾回收1.内存溢出2.垃圾回收3.内存分配与回收策略 虚拟机类加载机制1.加载2.验证3.准备4.解析5.初始化 前言 欢迎关注微信公众号“江湖喵的修炼秘籍” 撰文之前看到一段话,颇为喜欢,任性的写在这里:“入楼十七日,日日苦修,却修不到字词入心,