Linux c编程之Wireshark

Wireshark是一款强大的网络报文分析软件,用于排查网络问题和分析应用协议。在Windows和Linux环境下,可通过Wireshark或tcpdump抓取网络报文,并进行过滤,如协议过滤、IP地址过滤、端口过滤等,以便于问题定位。此外,文章还介绍了如何导出过滤后的报文和通过协议字段生成过滤条件进行深入分析。
摘要由CSDN通过智能技术生成

  Wireshark是一个网络报文分析软件,是网络应用问题分析必不可少的工具软件。网络管理员可以使用wireshark排查网络问题。程序开发人员可以用来分析应用协议、定位分析应用问题。无论是网络应用程序开发人员、测试人员、部署人员、技术支持人员,掌握wireshark的使用对于分析网络问题起到事半功倍的作用。

一、网络报文的抓取

1.1 wireshark抓取报文(windows)

  windows系统安装wireshark软件后,可以抓取流经网卡的网络报文。使用方法如下:

  1. 点击捕获选项,弹出网卡列表
    在这里插入图片描述
  2. 选择要捕获的网卡或设备, 如以太网卡
    在这里插入图片描述
  3. 点击开始
    可以抓到各种协议报文
    在这里插入图片描述
  4. 输入过滤条件,抓取指定的报文
    在这里插入图片描述
  5. 点击停止按钮可以停止报文抓取点击重新开始按钮可以重新捕获
    在这里插入图片描述

1.2 wireshark抓取报文(Linux)

  对于有GUI支持的linux桌面版本系统,可以安装使用wireshark软件进行抓包,使用方法同windows版本

1.3 tcpdump 抓取报文(Linux)

  对于没有GUI支持的linux系统,如服务器等, 可以通过命令行工具tcpdump抓取报文。转储为文件后,可以通过wireshark(windows版本或linux版本)进行分析
tcpdump抓包示例:tcpdump -i eth0 -w my.pcap

二、网络报文过滤

  从网卡抓到的报文一般包含了种协议的报文(http、tcp/udp、arp等),不方便分析定位问题,需要过滤出指定条件的报文,有很多不同的过滤条件。
0. 无过滤条件时:
在这里插入图片描述

  1. 协议过滤
    如输入SIP或http后,按回车,过滤出SIP报文或http报文
    在这里插入图片描述
    在这里插入图片描述
  2. IP地址过滤
    IP地址过滤分为地址、源地址、目的地址3种情况
    地址:
    在这里插入图片描述
    在这里插入图片描述
    源地址:
    在这里插入图片描述
    目的地址:
    在这里插入图片描述
  3. 端口过滤
    tcp端口:

在这里插入图片描述
TCP源端口:
在这里插入图片描述
TCP目的端口:
在这里插入图片描述
UDP端口:
在这里插入图片描述
4. 报文编号范围过滤
  抓到的报文默认从编号1开始的,可以过滤某个编号范围的报文。比如过滤编号大于500的报文
在这里插入图片描述
5. 组合条件过滤
  可以通过多个条件进行组合过滤,多个条件之间可以通过与(&)、或(||)、非(!)以及括号等条件进行组合
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、协议分析

以http协议报文为例:

3.1 整体报文分层结构

在这里插入图片描述

3.2 帧信息

可以看到帧编号是33(表示在本次抓包中的序号)
在这里插入图片描述

3.3 二层头部

在这里插入图片描述

3.4 三层头(IP)

在这里插入图片描述

3.5 应用数据

在这里插入图片描述

四、导出报文

  过滤报文后,可以将过滤后的报文导出为新文件,这样新文件中只包含符合过滤条件的报文,方便问题分析,而且文件更小,通过邮件等转发给别人时传输会更快。

  1. 原始抓包如下
    在这里插入图片描述
  2. 输入过滤条件http
    在这里插入图片描述
  3. 导出,保存为新文件
    在这里插入图片描述
    在这里插入图片描述
  4. 打开新文件查看
    在这里插入图片描述

五、使用协议字段生成过滤条件

  除了手动输入过滤条件外,还可以在报文展开后,通过鼠标右键点击的方式应用过滤条件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪游东戴河

你就是这个世界的唯一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值