0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

wireshark导入数据包进行分析

网络技术干货圈 来源:网络技术干货圈 2022-12-27 09:37 次阅读

linux的tcpdump命令主要用于网络问题的调试中,通过抓取传输过程的数据包进行分析和调试。而wireshark则是一款功能强大,使用方便的数据包分析工具,tcpdump+wireshark组合使用,完美,perfect,让网络问题无处遁形。

1 tcpdump及wireshark基本介绍

1.1 tcpdump

tcpdump是基于Unix系统的命令行式的数据包嗅探工具,可以抓取流动在网卡上的数据包。默认情况下,tcpdump不会抓取本机内部通讯的报文。根据网络协议栈的规定,对于报文,即使是目的地是本机,也需要经过本机的网络协议层,所以本机通讯肯定是通过API进入了内核,并且完成了路由选择。

linux抓包原理:

Linux抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权。当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,例如以太网协议、x25协议处理模块来尝试进行报文的解析处理,这一点和一些文件系统的挂载相似,就是让系统中所有的已经注册的文件系统来进行尝试挂载,如果哪一个认为自己可以处理,那么就完成挂载。当抓包模块把自己伪装成一个网络协议的时候,系统在收到报文的时候就会给这个伪协议一次机会,让它来对网卡收到的报文进行一次处理,此时该模块就会趁机对报文进行窥探,也就是把这个报文完完整整的复制一份,假装是自己接收到的报文,汇报给抓包模块。

1.2 wireshark

wireshark是一种数据包分析工具,在各种网络应用中,比如通过思博伦的Spirent_TestCenter(TC)、Ixia测试仪抓取接口报文或者利用本文介绍的linux自带的tcpdump监听抓包工具,抓包后导出报文再导入wireshark工具中进行图形化分析。

2 tcpdump抓包

2.1 常用命令

2.1.1 默认启动

# tcpdump

普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。但是由于linux默认网卡的问题,可能出现下面报错:

tcpdump: packet printing is not supported for link type NFLOG: use -w

db04c4d0-8575-11ed-bfe3-dac502259ad0.png

此时,可以通过ifconfig或者ip address命令查看网卡信息,并通过指定网口进行数据抓包

db22bd96-8575-11ed-bfe3-dac502259ad0.png

2.1.2 监视指定网络接口的数据包

# tcpdump -i ens33

db429df0-8575-11ed-bfe3-dac502259ad0.png

2.1.3 监视指定主机的数据包

指定通过网口ens33, 并且进出口IP地址为10.193.12.119的数据包

# tcpdump -i ens33 host 10.193.12.119

db77c5b6-8575-11ed-bfe3-dac502259ad0.png

指定通过网口ens33, 并且主机10.193.12.12 和主机10.193.17.4 或10.193.12.119之间的通信

# tcpdump -i ens33 -n host 10.193.12.12 and ( 10.193.17.4 or 10.193.12.119 )

dbae45dc-8575-11ed-bfe3-dac502259ad0.png

指定通过网口ens33, 并且主机10.193.12.12 和非主机10.193.17.4之间的通信

# tcpdump -i ens33 -n host 10.193.12.12 and ! 10.193.17.4

dbe1803c-8575-11ed-bfe3-dac502259ad0.png

指定通过网口ens33, 并且由主机10.193.12.12发送的所有数据

# tcpdump -i ens33 -n src 10.193.12.12

dbfadb72-8575-11ed-bfe3-dac502259ad0.png

指定通过网口ens33, 并且由主机10.193.12.12接收的所有数据

# tcpdump -i ens33 -n dst 10.193.12.12

dc4f8f00-8575-11ed-bfe3-dac502259ad0.png

2.1.4 指定抓包数量

指定通过网口ens33, 并且由主机10.193.12.12接收的连续5个数据包

# tcpdump -i ens33 -n dst 10.193.12.12 -c 5

dc779f04-8575-11ed-bfe3-dac502259ad0.png

2.1.5 抓包精简显示

# tcpdump -i ens33 -n dst 10.193.12.12 -c 5 -q

指定通过网口ens33, 并且由主机10.193.12.12接收的连续5个数据包,并采用精简显示,可与上图进行对比

dcb5feb6-8575-11ed-bfe3-dac502259ad0.png

2.1.6 按照协议类型抓包

以ping为例,我们知道ping的协议类型为icmp,我们可以指定icmp协议类型进行抓包

# tcpdump -i ens33 -n icmp

dcd83c7e-8575-11ed-bfe3-dac502259ad0.png

2.1.7 指定主机和端口号进行抓包

指定网卡ens33,端口号为55555并且ip地址为10.193.12.12的连续10个数据包

# tcpdump -i ens33 -n tcp port 55555 and host 10.193.12.12 -c 10

dd216070-8575-11ed-bfe3-dac502259ad0.png

2.1.8 抓包并保存

抓包并保存package.cap文件,可导出后再导入wireshark进行包分析

# tcpdump -i ens33 -n port 55555 and host 10.193.12.12 -c 10 -w package.cap

dd44e586-8575-11ed-bfe3-dac502259ad0.png

2.2 tcpdump详细参数

-a 尝试将网络和广播地址转换成名称。

-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。

-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。

-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。

-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。

-e 在每列倾倒资料上显示连接层级的文件头。

-f 用数字显示网际网络地址。

-F<表达文件> 指定内含表达方式的文件。

-i<网络界面> 使用指定的网络截面送出数据包。

-l 使用标准输出列的缓冲区。

-n 不把主机的网络地址转换成名字。

-N 不列出域名。

-O 不将数据包编码最佳化。

-p 不让网络界面进入混杂模式。

-q 快速输出,仅列出少数的传输协议信息。

-r<数据包文件> 从指定的文件读取数据包数据。

-s<数据包大小> 设置每个数据包的大小。

-S 用绝对而非相对数值列出TCP关联数。

-t 在每列倾倒资料上不显示时间戳记。

-tt 在每列倾倒资料上显示未经格式化的时间戳记。

-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。

-v 详细显示指令执行过程。

-vv 更详细显示指令执行过程。

-x 用十六进制字码列出数据包资料。

-w<数据包文件> 把数据包数据写入指定的文件。

3 wireshark导入数据包进行分析

dd88af28-8575-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206733
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
  • 数据包
    +关注

    关注

    0

    文章

    229

    浏览量

    24093
  • Wireshark
    +关注

    关注

    0

    文章

    46

    浏览量

    6449

原文标题:3 wireshark导入数据包进行分析

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    蓝牙数据包的抓取与分析

    本帖最后由 bbsc 于 2017-5-7 17:10 编辑 各位大佬好,我想用电脑抓取蓝牙数据包,然后用wireshark分析,需要哪些硬件协助?最好便宜点(学生dang)需要测试的设备支持
    发表于 05-07 16:55

    发送一个数据包,网络什么也看不到

    我已经编写了一些代码来发送DHCCP发现。处理器是18F97 J60。PIC-WEB-EK板。我使用WireShark来监控数据包。问题是:如果我发送一个数据包,网络什么也看不到。如
    发表于 05-24 14:53

    zc706 SFP工作设计无法发送数据包该怎么办?

    的电脑发送任何数据包。我有wireshark来检查传入的数据包,但仍然没有运气。我正在使用标准dma示例来检查转移。任何建议或信息我做错了什么。谢谢。
    发表于 09-26 10:17

    wireshark数据分析问题

    用网络调试助手作为Tcp Server给STM32F429发送数据,每次传输完21845bytes后,就出现问题。用WireShark数据有些不太理解。上图为用串口调试助手调试后
    发表于 04-08 04:35

    如何使用WireShark进行网络抓

      如何使用WireShark进行网络抓:准备工作、wireshark 主界面介绍、封包列表介绍
    发表于 04-02 07:05

    为什么ESP时不时会丢失UDP数据包

    之间运行多长时间都没有关系。我什至尝试用不同的计算机发送。第一次连接需要很长时间。这是正常的吗?Wireshark 告诉我,正在发生重传(这需要大部分时间)3) TCP 数据包得到确认的时间也太长
    发表于 02-28 07:10

    如何使用FRDM-KW41Z devkit和Wireshark创建一个zigbee数据包嗅探器?

    我很好奇使用 FRDM-KW41Z devkit 和 Wireshark 创建一个 zigbee 数据包嗅探器。 是否有捷径可寻?我是否需要 USB 加密狗才能嗅探 zigbee 数据包
    发表于 04-03 06:37

    请问如何在嗅探器应用程序中获取wifi数据包速率?

    操作:1. 如果数据包是 802.11n (sig_mode == 1),获取带宽(20 或 40 MHz)、SGI 和 MCS,使用此表进行解码。2. 如果数据包是 802.11bg (sig_mode
    发表于 04-14 07:14

    Wireshark数据包分析实战第2版的PDF电子书免费下载

    与经验技巧。在此过程中,作者结合一些简单易懂的实际网络案例,图文并茂地演示使用Wireshark进行数据包分析的技术方法,使读者能够顺着本书思路逐步地掌握网络数据包嗅探与
    发表于 07-13 08:00 0次下载

    Wireshark数据包分析实战第3版的电子教材免费下载

    与经验技巧。在此过程中,作者结合一些简单易懂的实际网络案例,图文并茂地演示使用Wireshark进行数据包分析的技术方法,使读者能够顺着本书思路逐步地掌握网络数据包嗅探与
    发表于 09-29 08:00 0次下载

    如何使用WIRESHARK抓以太网数据包

    包,Wireshark是一个免费网络包分析软件,它能撷取网络封包,并尽可能显示出最为详细的网络封包资料。 要抓到有用的数据包还是要有正确的步骤和方法,本文是讲述如何配置工业管理型交换机的端口镜像功能,使用
    的头像 发表于 11-26 12:03 1.5w次阅读

    SRT协议的工作流程、数据包结构及Wireshark抓包分析

    摘 要:本文从SRT协议的工作流程谈起,着重介绍和解析了SRT协议的数据包结构,并举例说明如何利用Wireshark抓包软件进行链路故障分析,从而解决实际工作中的问题。
    的头像 发表于 05-17 10:08 2870次阅读

    网络数据包分析软件wireshark的基本使用

    Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络
    的头像 发表于 09-29 14:48 2656次阅读

    Wireshark网络数据包分析软件简介

    wireshark是一个免费开源的网络数据包分析软件,功能十分强大。可以截取各种网络数据包,显示网络数据包的详细信息。
    的头像 发表于 04-26 09:52 1857次阅读
    <b class='flag-5'>Wireshark</b>网络<b class='flag-5'>数据包</b><b class='flag-5'>分析</b>软件简介

    超详细的WireShark抓包使用教程

    Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息。
    的头像 发表于 06-06 09:22 5321次阅读
    超详细的<b class='flag-5'>WireShark</b>抓包使用教程