这10个技巧你都会?绝对算网络抓包高手!

中午好,我的网工朋友。

抓包工具Wireshark大家都知道,它可以截获和分析网络数据封包,检测网络上的问题,比如网络延迟、数据丢失、拥堵等,以及评估网络性能。

当网络里发现恶意攻击、某人下载流量过大、设备互联丢包、协议交互失败等等情况时,通过Wireshark抓包定位问题根源,是最直接有效的手段。

虽然Wireshark功能强大,但是很多网工使用时一知半解,会碰到许多问题。

比如:

问题出现时间极不固定,甚至10天才出现一次,你会一直守着抓?
数据流量太大,才抓几秒钟就达到了几百兆的抓包文件,然后系统卡死要怎样操作?
报文抓到了,但是报文杂乱无章,该从何看起?
……


如果你也有以上问题,那这篇文章你一定要看。

今日文章阅读福利:《 Wireshark网络分折-全套经典书籍.pdf 》


搭配这篇,我还给你准备了两本关于Wireshark的经典书籍。私信我,发送暗号“Wireshark”,即可获取书籍资料。


01 过滤器捕获技巧

我们都知道,wireshark可以实现本地抓包,同时Wireshark也支持remote packet capture protocol(rpcapd)协议远程抓包,只要在远程主机上安装相应的rpcapd服务例程就可以实现在本地电脑执行wireshark 捕获远程电脑的流量了。

有些网工可能会出现这种情况,在某企业网发现外网用户telnet到出口设备,不定时出现回显不全,所以决定抓取telnet数据包分析。

用Wireshark捕获了接口所有数据包,2分钟后抓包的电脑死机了,由于流量很大,有用的数据包却一个都没有。

这时候,捕获过滤器只捕获特定的流量,或者不捕获某些流量而捕获其他所有的流量就显得很有必要。

使用过滤器的操作步骤如下:

(1)依次打开“捕获”→“选项”,选择对应的抓包接口,“所选择接口的捕获过滤器”栏输入过滤表达式,如下图:


(2)在捕获数据包的窗口中可以看到经过捕获过滤器后的数据包,如下图:


(3)捕获过滤表达式的格式:【逻辑运算】+【协议】+【方向】+【类型】+【值】

逻辑运算:and、or、not
协议:ether、ip、icmp、arp、tcp、udp等
方向:src、dst、src and dst、src or dst
类型:host、net、port、portrange等

常用的捕获过滤表达式如下表:

02 过滤器显示技巧

在使用wireshark的过程中,因为要在大量的包中找到自已要的包,所以显示过滤器的使用是必不可少的。

有一些情况下,比如在某城域网出口路由器上发现很多telnet尝试登录失败的日志,在出口开启抓包,2小时后得到100M的抓包文件,筛选出了全部telnet的数据包分析。

如果逐个去找要浪费很多时间,而使用显示过滤器便可得心应手。

(1)Wireshark打开抓包文件后,在“显示过滤器”栏输入过滤表达式,便可得到经过显示过滤器后的数据包,如下图:


(2)磨刀不误砍柴工,常用的显示过滤表达式,如下表:


03 借用命令行进行长时间抓包

有些企业用户可能会遇到认证服务器侧提示计费服务器down掉的问题,复现的周期是7天,决定通过抓包判断是接入设备和服务器之间链路问题导致,还是服务器未及时处理radius报文导致。

在iMC服务器网卡抓包,2个小时后发现Wireshark挂死,辛辛苦苦抓下来的包还没保存就没了。

碰到这种情况时,用命令行抓包一招就能搞定,它是直接写硬盘,不会造成内存溢出问题和进程挂死,操作步骤如下:

(1)ipconfig查看抓包网卡的描述,如下图:


(2)cd切换到Wireshark的安装目录下,tshark -D查看抓包网卡索引号,如下图:

(3)输入tshark命令开启抓包

第一种情况是问题出现的时间不确定,频率较低,几小时或几天出一次,硬盘空间有限,我们采用循环抓包法,持续抓包生成指定个数和指定大小文件,超过指定文件个数就覆盖,循环利用硬盘空间。

例如:抓包文件大小每100KB后自动新建一个文件,文件个数为10个,保存到D盘根目录,超过后自动替换(共占用1M空间),输入命令“tshark -b filesize:100 -b files:10 -w d:/yhy1m10.pcap -i 1”(-b 循环抓包;Filezise:每个分包大小(KB);Files:总分包个数;-w 保存的文件路径及文件名称;-i 网卡接口号),如下图:


第二种情况是问题定位需要长时间抓包,硬盘的空间足够,希望分析抓包网卡全部数据,我们可以采用持续抓包法,持续抓包不断生成指定大小文件,直到硬盘空间满了为止。

例如:每个文件大小20M,保存到D盘根目录,输入命令“tshark -b filesize:2000 -w d:/ yhy20m.pcap -i 1 ”,待问题复现后,ctrl+c停止抓包。

(4)到指定文件目录下获取抓包文件分析即可,下图是循环抓包的文件:

04 将TXT文件转为pcap文件

假如你在某电站发现上送设备CPU的报文总是超时,打开调试开关,得到原始二进制数据调试信息,一脸茫然,两眼发愣,如下图:


那么给你.pcap的抓包文件,打开看看,你可以发现报文各字段一目了然,如下图:


如果你还不熟悉如何使用的话,步骤给你准备好了:

(1)将调试信息保存为.txt文件放到Wireshark的安装根目录

(2)cd命令切换到Wireshark的安装根目录,如下图:


(3)调用text2pcap.exe程序,将.txt文件转换为.pcap文件,如下图:


05 过滤器捕获技巧

如果你喜欢分析数据包,打开抓包文件后经常发现显示窗口列是重叠,如下图,源目ip地址都看不完整:


当然可以手工拉动来调整,但不够美观且耗费时间,也许你可以试下快捷键ctrl+shift+R(自动调整列框,或者“视图”→“ 调整列宽”),既美观又省时省力,如下图:

06 过滤器捕获技巧

处理认证异常问题时,需要分析radius报文交互情况。先画图,再将报文一个一个标注出来,然后对比标准协议交互过程来分析。

要是协议复杂,报文数目众多,想画图标注就很费劲,可能还看不清楚。


Wireshark中流量图工具,就可以帮助完成这个画图标注过程,打开抓包文件后,“统计”→“流量图”,“显示”选“显示的分组”,如下图,对比标准radius协议交互过程就能清晰看出哪个过程有问题。



07 过滤器捕获技巧

有些小伙伴在部署WLAN时使用Wirelessmon扫描,可能会发现有个别MAC地址为00:74:9C开头的无线SSID和自己工作在同一信道,功率很大,对自己的干扰很大。

如果你想知道是哪个厂商的AP,MAC地址前3个字节是设备厂商标识符,可以通过它来确定所属厂商。

此时Wireshark安装目录下的manuf文件就能够发挥作用,查询可以发现00:74:9C对应的是R厂商,如下图:

08 抓包文件数据包统计分析

某商场网络流量异常,负责项目的你到现场后先用Wireshark抓包15分钟,分析时发现数据包有80M,手工统计的话效率太低,粗略浏览凭感觉又不靠谱,怎么破?@网 络 工 程 师 俱 乐 部

强大的Wireshark还是有招应对的,“统计”→“会话”,分别按数据包个数和字节大小统计,很快可以看到是哪些ip地址之间的流量是最大的,后续重点排查这些ip即可,如下图,10.63.16.77和10.88.14.119流量是最大的。



09 报文数据字段解码

如果你在某火车站排查服务器一直收不到防火墙发出userlog日志问题,想确认一下是服务器无法解析还是userlog数据包没有到服务器,于是在服务器网卡开启抓包观察:

(1)乍看一眼,不是userlog数据包,看山不是山,如下图:

(2)注意查看防火墙上userlog的端口不是默认的,你恍然大悟,“分析”→“解码为”,选择端口和对应的协议userlog,如下图:

(3)你清晰地看到了userlog数据包的各字段,如下图,看山还是山,服务器收到了userlog数据包,只是无法解析。

10 抓包文件“瘦身”技巧

勤奋的你最近在学习http协议,需要从50M的抓包文件中筛选出http协议保存出来,更精巧地插入word文档中,方便查阅。

(1)使用显示过滤器过滤后,数据包还是比较多,“文件”→“导出特定分组”,选择“all packets”和“displayed”,保存,如下图:



(2)如果仅需要保存个别数据包,“标记分组”→“ 文件”→“ 导出特定分组”,选择“marked packets”和“displayed”,保存,如下图:

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/627538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#微信公众号HIS预约挂号系统源码

微信公众号预约挂号系统、支付宝小程序预约挂号系统主要是让自费、医保患者在手机上就能实现就医全过程,实时预约挂号、自费、医保结算,同时还可以查询检查检验报告等就诊信息,真正实现了让信息“多跑路”,让群众“少跑腿”。系统…

NXP采用RS RTS测试系统,验证28纳米RFCMOS雷达单芯片 |百能云芯

Rohde & Schwarz的雷达目标模拟器R&S RTS,作为汽车雷达的颠覆性解决方案,尤其是其能够电子模拟非常近距离物体的能力,已被用于验证NXP半导体的下一代雷达传感器参考设计的性能。 这一合作使汽车行业在汽车雷达的发展上迈出了一步&…

python热重载调试神器Reloadium,Debug工具用print太慢了

作为程序员,我们都深知调试(Debug)在编程过程中的重要性。然而,使用传统的"print"语句进行调试可能效率较低,今天,笔者将推荐一款独具一格的Python调试工具——Reloadium。Reloadium为IDE添加了热…

ChatGPT vs 文心一言: 两大AI助手的较量

文章目录 每日一句正能量前言ChatGPTChatGPT的优点ChatGPT的劣势 文心一言文心一言的优势文心一言的劣势 后记 每日一句正能量 无所不能的人实在一无所能,无所不专的专家实在是一无所专。 前言 随着人工智能技术的发展,ChatGPT和文心一言已成为广受欢迎…

Linux命令之pwd,cd,ls,cat,more,less,head,tail文件目录类命令的使用

一、实验题 在桌面打开终端,查看当前目录 改变目录位置至当前目录的父目录 改变目录位置至用户的家目录 利用绝对路径改变目录到/usr/local目录下 列出当前目录下的文件及目录 列出包括以“.”开始的隐藏文件在内的所有文件 列出当前目录下所有文件的权限、所有者、…

Go后端开发 -- 面向对象特征:结构体 继承 多态 interface

Go后端开发 – 面向对象特征:结构体 && 继承 && 多态 && interface 文章目录 Go后端开发 -- 面向对象特征:结构体 && 继承 && 多态 && interface一、Go的结构体1.结构体的声明和定义2.结构体传参 二、将…

简易机器学习笔记(十一)opencv 简易使用-人脸识别、分类任务

前言 前段时间摸了下机器学习,然后我发现其实openCV还是一个很浩瀚的库的,现在也正在写一篇有关yolo的博客,不过感觉理论偏多,所以在学yolo之前先摸一下opencv,简单先写个项目感受感受opencv。 流程 openCV实际上已…

Go interface基础

接口类型是对其它类型行为的概括与抽象。通过使用接口,我们可以写出更加灵活和通用的函数,这些函数不用绑定在一个特定的类型实现上。 很多面向对象的语言都有接口这个概念,Go 语言的接口的独特之处在于它是隐式实现。换句话说,对…

maven导入无法拉取所需依赖

maven导入无法拉取所需依赖 1.原因2.解决搞定收工&#xff01; 1.原因 公司使用的是gradle&#xff0c;配置的私有云&#xff0c;maven里面配置私有云完全使用不了&#xff0c;无论配置国内还是国外的&#xff0c;导入的项目报错拉不到jar包。 <mirror><id>mirro…

Dhcp中继ensp

拓扑图 <Huawei>system-view [Huawei]sysname SW1 [SW1]vlan batch 10 20 [SW1]int e0/0/1 #配置access接口 [SW1-Ethernet0/0/1]port link-type access [SW1-Ethernet0/0/1]port default vlan 10 [SW1-Etherne…

[C#]利用paddleocr进行表格识别

【官方框架地址】 https://github.com/PaddlePaddle/PaddleOCR.git 【算法介绍】 PaddleOCR表格识别是PaddlePaddle开源项目中的一个强大功能&#xff0c;它利用深度学习技术实现了对各类表格的高精度识别。PaddleOCR表格识别能够处理各种复杂的表格&#xff0c;包括但不限于…

【语音助手】语音识别框架的简单介绍

文章目录 ASR 框架常见的ASR框架用于嵌入式领域的ASR框架 NLP 框架常用NLP框架用于嵌入式领域的NLP框架 TTS 框架常见的TTS 框架用于嵌入式领域的TTS 框架 ASR&#xff1a;语音识别&#xff08;ASR&#xff09;是一种将语音信号转换为文本的技术。NLP&#xff1a;自然语言处理。…

cartopy,一个非常好用的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个非常好用的 Python 库 - cartopy。 Github地址&#xff1a;https://github.com/SciTools/cartopy 地图数据可视化在许多领域中都是至关重要的&#xff0c;无论是用于气象学…

IDEA2023的激活与安装(全网最靠谱,最快捷的方式)

前言&#xff1a; 相信很多小伙伴已经开始了java的学习之旅&#xff0c;想要更快乐的学习当然少不了IDEA这个得力的开发工具软件。但是IDEA是付费的&#xff0c;免费版功能有太少&#xff0c;怎么才能既免费&#xff0c;又能使用上正式版呢&#xff01;当然还是激活啦&#xf…

json 读取中文、保存为中文的json文件

pycharm 打开的json文件 通过代码读取中文文件 保存中文的json文件&#xff1a; import jsonwith open(garbage_classification.json,encodingutf-8-sig,moder) as f:data json.load(f) # print(data) {0: 可回收物_金属食品罐, 1: 其他垃圾_PE塑料袋, 2: 其他垃圾_污损塑…

设备树下Led驱动实验-向设备树文件添加Led设备节点

一. 简介 前面简单学习了设备树文件的内容&#xff0c;语法&#xff0c;以及如何向设备树文件中添加设备节点信息。学习了驱动开发时&#xff0c;会使用到的设备树常用OF操作函数。本文我们就开始第一个基于设备树的 Linux 驱动实验-LED驱动实现。 本文具体学习在设备树文件添…

vlc播放rtsp视频流

简单记录一下项目中用到的浏览器内嵌vlc播放rtsp视频流 首先使用object标签&#xff0c;关于object标签的介绍&#xff0c;放一张图 页面设置 <object class"vlc-box" ref"vlc" type"application/x-vlc-plugin"windowless"true"pl…

yum仓库和nfs

目录 一、yum 1.1.yum概述 1.2.yum实现过程 1.3.yum配置文件 1.4.仓库设置文件/etc/yum.repos.d/*.repo 1.5.yum命令 二、NFS 2.1.NFS介绍 2.2.NFS特点 2.3.NFS优势 2.4.NFS原理 2.5.NFS共享存储服务 一、yum 1.1.yum概述 基于RPM包构建的软件更新机制 可以自动…

推荐三个非常好用的视频转文字工具

在处理视频文件时&#xff0c;有时我们需要将视频中的语音内容转换为文字形式&#xff0c;以便于整理、编辑或搜索。传统的视频转文字方法往往需要耗费大量时间和人力&#xff0c;而且准确度难以保证。现在&#xff0c;有了水印云等视频转文字神器&#xff0c;我们可以快速、准…

JS | JS调用EXE

JS | JS调用EXE 网上洋洋洒洒一大堆文章提供,然我还是没找打合适的方案: 注册表方案做了如下测试(可行但是不推荐?): 先,键入文件名为 myprotocal.reg 的注册表,并键入一下信息: Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\openExe] //协议名…