网络协议分析工具

article/2025/10/16 8:43:15

抓包工具的作用

网络协议抓包工具主要用于对网络协议的数据包进行捕获,捕获后亦可通过其对数据包的结构及其封装内容进行分析查看,以便了解数据包在网络传输时的状态,进而为学习数据包结构和故障排除积累素材。

作用

  • 对网络协议的数据包进行捕获
  • 对抓获的网络协议数据包进行分析

位置

对于服务器之间的通信数据包抓包,可选择在网络接口卡上操作;如果需要捕获局域网数据包,需要网络设备的配合,例如使用集线器或使用交换机(需要完成端口镜像配置)。

抓包工具的分类

命令行抓包工具

tcpdump

  • 在接口位置
  • 对数据报文进行筛选
  • 表达方式灵活
    and、or、not
  • 终端中可以直接使用
  • 对于初学者不利于数据报文分析
  • 只能抓取流经本机的数据报文

图形界面抓包工具

wireshark

  • 在接口位置
  • 对数据报文进行筛选
  • 对捕获数据包结构分层清析,易于对数据包进行分析
  • 必须有图型界面配合使用

tcpdump命令行抓包工具应用

[root@localhost ~]# tcpdump
#不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包

格式说明

tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ][ -s snaplen ] [ -w file ] [ expression ]

选项说明

# 抓包选项-c:指定要抓取的包数量。注意,是最终要获取这么多个包。例如,指定"-c 10"将获取10个包,但可能已经
处理了100个包,只不过只有10个包是满足条件的包。
-i interface:指定tcpdump需要监听的接口。若未指定该选项,将从系统接口列表中搜寻编号最小的已配
置好的接口(不包括loopback接口,要抓取loopback接口使用tcpdump -i lo),一旦找到第一个符合条件
的接口,搜寻马上结束。可以使用'any'关键字表示所有网络接口。
-n:对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。
-nn:除了-n的作用外,还把端口显示为数值,否则显示端口服务名。
-N:不打印出host的域名部分。例如tcpdump将会打印'nic'而不是'nic.ddn.mil'。
-P:指定要抓取的包是流入还是流出的包。可以给定的值为"in""out""inout",默认为"inout"。
-s len:设置tcpdump的数据包抓取长度为len,如果不设置默认将会是65535字节。对于要抓取的数据包较
大时,长度设置不够可能会产生包截断,若出现包截断,输出行中会出现"[|proto]"的标志(proto实际会显
示为协议名)。但是抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,从而会导
致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好。

在这里插入图片描述

# 输出选项-e:输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。
-q:快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。
-X:输出包的头部数据,会以16进制和ASCII两种方式同时输出。
-XX:输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。
-v:当分析和打印的时候,产生详细的输出。
-vv:产生比-v更详细的输出。
-vvv:产生比-vv更详细的输出

在这里插入图片描述

# 其它功能选项-D:列出可用于抓包的接口。将会列出接口的数值编号和接口名,它们都可以用于"-i"后。
-F:从文件中读取抓包的表达式。若使用该选项,则命令行中给定的其他表达式都将失效。
-w:将抓包数据输出到文件中而不是标准输出。可以同时配合"-G time"选项使得输出文件每time秒就自动
切换到另一个文件。可通过"-r"选项载入这些文件以进行分析和打印。
-r:从给定的数据包文件中读取数据。使用"-"表示从标准输入中读取。

在这里插入图片描述

tcpdump常用选项

# 列出接口
[root@localhost ~]# tcpdump -D# 基于接口抓包
[root@localhost ~]# tcpdump -i int -c num -nn -XX -vvv

tcpdump表达式

表达式用于筛选输出哪些类型的数据包,如果没有给定表达式,所有的数据包都将输出,否则只输出表达式为true的包。在表达式中出现的shell元字符建议使用单引号包围。

在这里插入图片描述
在这里插入图片描述

tcpdump应用示例

### 1.启动[root@localhost ~]# tcpdump### 2.抓取指定接口数据包[root@localhost ~]# tcpdump -i ens33
#如果不指定网卡,默认tcpdump只会监视第一个网络接口,如ens33。### 3.抓取离开或进入主机的数据包#两台主机
#设置主机名及主机名解析
#tcpdump -i ens33 host 第二台主机的主机名 
#tcpdump -i ens33 -nn host 第二台主机的主机名
#打开另外一个终端去ping 第二台主机
[root@localhost ~]# tcpdump -i ens33 host 主机名  [此命令不可行]### 4.抓取当前主机与指定主机之间的通信数据包[root@localhost ~]# tcpdump -i ens33 -nn host 当前主机名 and \(主机A or 主机B\)
[root@localhost ~]# tcpdump -i ens33 -nn host node1 and \(node2 or node3\)### 5.抓取当前主机(A)与其它主机通信IP数据包,但不包含B主机[root@localhost ~]# tcpdump -i ens33 ip host 当前主机名 and not 主机B
[root@localhost ~]# tcpdump -i ens33 -nn ip host node1 and not node2### 6.抓取当前主机发送的所有数据包[root@localhost ~]# tcpdump -i ens33 -nn src host 当前主机名
[root@localhost ~]# tcpdump -i ens33 -nn src host node1

在这里插入图片描述

### 7. 抓取当前主机接收的所有数据包[root@localhost ~]# tcpdump -i ens33 -nn dst host 当前主机名### 8.抓取当前主机与指定主机之间指定协议、指定端口的数据包[root@localhost ~]# tcpdump -i ens33 -nn tcp port 22 and host 主机名
[root@localhost ~]# tcpdump -i ens33 -nn tcp port 22 and host node2### 9.抓取本地主机指定协议、指定端口的数据包[root@localhost ~]# tcpdump -i ens33 -nn udp port 123### 10. 抓取指定当前主机与某一网段(例如:192.168)通信的数据
包,仅抓取10个[root@localhost ~]# tcpdump -i ens33 -nn -c 10 net 192.168### 11. 抓取ping包[root@localhost ~]# tcpdump -i ens33 -c 10 -nn icmp
#icmp是网络层协议
#不能直接抓取应用层协议

在这里插入图片描述

### 12. 抓取来自于某一主机的ping包[root@localhost ~]# tcpdump -i ens33 -c 10 -nn icmp and src 某一主机名或IP### 13.抓取到本机某一端口的数据包[root@localhost ~]# tcpdump -i ens33 -nn -c 10 tcp dst port 22### 14. 解析被抓取数据包[root@localhost ~]# tcpdump -i ens33 -c 2 -q -XX -vvv -nn tcp dst port 22### 15.抓取数据包保存至指定名称文件[root@localhost ~]# tcpdump -i ens33 -nn -w file.cap
[root@localhost ~]# tcpdump -i ens33 -w file.cap host 192.168.1.1 and tcp port
80
#-w 参数指定将监听到的数据包写入文件中保存,file.cap就是该文件### 16.解析指定名称文件中数据包[root@localhost ~]# tcpdump -r file.cap
#-r 从后面接的文件将数据包数据读出来
#或可以直接在wireshark中打开

在这里插入图片描述

WireShark抓包并对数据包进行分析

WireShark安装

[root@localhost ~]# yum -y install wireshark*

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/UeHnRjwB.shtml

相关文章

使用网络协议分析仪Wireshark

环境 操作系统:运行Win10操作系统的PC一台 网络平台:以太网 机器的IP地址:IPv4:xxxxxxxxxxxx 实验目的 1)能够正确安装配置网络协议分析仪Wireshark 2)熟悉使用Wireshark分析网络协议的基本方法 3)加深对协议格式、协议层次…

<计算机网络>网络分析仪分析协议

网络分析仪分析协议 1.捕获FTP数据包分析TCP/IP数据报格式。 据捕获到的FTP数据包中的数据,分析TCP/IP协议头及以太网帧头。 2.根据实验数据分析TCP/IP连接的三次握手及四次挥手的情况 使用软件 Wrieshark 1. Display Filter(显示过滤器), 用于过滤 2. P…

网络协议分析

根据期末考试考点,我把知识点做了一下梳理,仅供参考!!! 记录一下。 文章目录 网络协议分析第一章 TCP/IP概述1.1网络互连与TCP/IP1.1.1 用IP实现异构互联网络1.1.2 TCP/IP协议族的引入 1.2 网络协议分层1.2.1 通用的协…

计算机网络实验——使用网络协议分析仪Wireshark

计算机网络实验——使用网络协议分析仪Wireshark 一、实验名称 使用网络协议分析仪Wireshark 二、实验目的: 掌握安装和配置网络协议分析仪Wireshark的方法;熟悉使用Wireshark工具分析网络协议的基本方法,加深对协议格式、协议层次和协议交…

网络协议分析仪tcpdump和wireshark使用

网络协议分析仪 网络协议分析仪介绍命令行抓包工具:tcpdumptcpdump工具使用tcpdump表达式tcpdump应用示例 图形界面网络分析仪:wiresharkwireshark工具使用wireshark捕获数据分析wireshark窗口介绍wireshark过滤规则 网络协议分析仪介绍 网络协议分析仪…

总结各种物体检测算法

第一,覆盖所有基于区域的目标检测算法,包括:Fast RCNN, Faster-RCNN, Mask RCNN, R-FCN, FPN. 第二, 介绍SSD算法(single shoot detectors) 第三,介绍所有算法的表现和实现细节。 Part1 我们…

深度学习和目标检测系列教程 13-300:YOLO 物体检测算法

Author:Runsen YOLO,是目前速度更快的物体检测算法之一。虽然它不再是最准确的物体检测算法,但当您需要实时检测时,它是一个非常好的选择,而不会损失太多的准确性。 YOLO 框架 在本篇博客中,我将介绍 YO…

3D物体检测(一)

title: 3D物体检测(一) date: 2020-02-21 16:40:40 categories: 3D物体检测 tags:3D物体检测点云 总结一下在bilibili上看到的基于点云场景的三维物体检测算法及应用,有兴趣的也可以去看看这个视频。 这一部分主要总结一下,结合雷达点云数据和相机采集的二维图像数…

OpenCV-Python视频分析(移动物体检测,物体追踪)

1.概述 该文章介绍OpenCV-Python中关于视频分析的两个主要内容,分别为: 🐟背景差分法移动物体检测🐟Meanshift和Camshift算法物体追踪 PS:视频分析还要一个重要的内容:光流法运动轨迹绘制,在…

百度EasyDL物体检测在安卓上测试

EasyDL:EasyDL定制化模型 1.创建模型。 2.创建数据集,上传图片。 3.标注图片 。 4.训练数据 5.发布模型 6.APP部署测试 7.APP上测试

基于OpenCV实战:动态物体检测

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达最近,闭路电视安全系统运行着多种算法来确保安全,例如面部识别,物体检测,盗窃检测,火灾警报等。我们在运动检测…

【opencv学习】【运动物体检测】

今天学习运动物体检测 一:帧差法 捕获摄像头的运动的手 import cv2 import numpy as np# 如果我们想捕获一些运动的物体,每一帧图像中,不动的部分称之为背景,运动的物体称之为前景 # 假如我们的视频捕捉窗口是不动的,…

K210物体检测(利用Maixpy、在线模型训练、串口通信)

无论从性能还是价格上,K210都给我带来了很多惊喜。搭载了Maixpy的K210开发非常便利,加上Maixhub的加持,使得K210的生态更加完善。Maixpy完全兼容openmv,在拥有openmv的基础上,短时间内就可以上手K210。 目录 前言一、烧…

小样本物体检测

Few-shot Object Detection via Feature Reweighting(MetaYOLO) 出发点:不同属性以不同的权重组合,可以定义一个类别,所以检测特征是否属于某一类,只要检测特征对属性的响应度就可以。特征 —> 属性 —…

自动驾驶:MOD 移动物体检测概述

MOD全称为Moving Object Detection,中文“移动物体检测”。主要的作用是泊车时,周围有人或物体经过探测区域被检测到给驾驶员声音和视觉提醒。 以NISSAN MOD为例说明下基于环视相机的MOD系统: nissan 官网:​​​​​​Moving O…

UGUI射线检测与普通物体检测

UGUI物体检测与普通物体检测有所不同(UGUI射线检测已经被封装好): 1.Graphic Raycaster 主要用于UI上的射线检测,挂有这个组件的物体,必须要挂上Canvas这个组件(当挂上Graphic Raycaster时Canvas也会自动挂上)。 Ig…

多物体检测 RCNN

基于R-CNN的物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187029 作者:hjimce 一、相关理论 本篇博文主要讲解2014年CVPR上的经典paper:《Rich feature hierarchies for Accurate Object Detection and Segmentation》…

自动驾驶感知——激光雷达物体检测算法

文章目录 1. 基于激光雷达的物体检测1.1 物体检测的输入与输出1.2 点云数据库1.3 激光雷达物体检测算法1.3.1 点视图1.3.1.1 PointNet1.3.1.2 PointNet1.3.1.3 Point-RCNN1.3.1.4 3D-SSD1.3.1.5 总结和对比 1.3.2 俯视图1.3.2.1 VoxelNet1.3.2.2 SECOND1.3.2.3 PIXOR1.3.2.4 AF…

物体检测之YOLO系列

业界对于目标检测的热度只增不减,但目前的框架也难于逾越RCNN系列、SSD、YOLO系列这三座大山,很多新的方法也是在此基础上做一些改进,所以有必要做一些整理,方便自己后续查看,这里先对YOLO系列做一些整理。没看过文章的…

物体检测难点 (多尺度检测, 遮挡与拥挤)

目录 多尺度检测降低下采样率与空洞卷积Anchor 设计多尺度训练 (Multi Scale Training,MST)特征融合尺度归一化: SNIP (Scale Normalization for Image Pyramids)Image Classification at Multiple ScalesData Variation or Correct Scale?Object Detection on an …