文章目录

  • 软件功能
  • 平台支持
  • 下载网站
  • 相关软件
  • wireshark抓包原理
  • 网络层原理
  • 底层原理
  • 软件基本应用
  • wireshark界面详解
  • 软件调试
  • 过滤器



wireshark

软件功能

  • 分析网络层协议
  • 解决网络故障问题
  • 寻找网络安全问题

平台支持

windows、linux/Unix、MACOS

下载网站

https://www.wireshark.org/https://wiki.wireshark.org/

相关软件

sniffer(嗅探器)、Fiddier(针对HTTP)、科来网络分析系统

wireshark抓包原理

网络层原理

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_数据

本机环境

即直接抓取进出本机网卡的流量包。这种情况下,wireshark会绑定本机的一块网卡。

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_测试工具_02


集线器环境

用于抓取流量泛洪,冲突域内的数据包,即整个局域网的数据包。

PC2和PC3的数据可以通过集线器被PC1抓取到。

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_抓包_03

交换机环境

1.端口镜像

即交换机严格按照tenlnet表和mac地址表进行转发数据包。当PC2和PC3通信的时候,默认是PC1是无法抓取数据包的,但是可以通过在交换机上设置策略,即端口镜像。这样PC2和PC3通信的数据包就被复制一份到连接PC2的那个交换机端口,这样PC2就可以抓取到PC2和PC3的通信数据包了

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_wireshark 交换机端口抓包_04


2.ARP欺骗

步骤如下:

(1)PC2想和PC3通信,故而向交换机发送广播

(2)正常情况下PC1会将此包丢弃掉(因为要找的不是它),但是这里的PC1会进行ARP欺骗,告诉PC2它就是PC2要找的PC3

(3)因为ARP后到优先的特性,PC2很大可能会认为PC1的MAC地址是自己要找的PC3

(4)就这样,PC2和PC3的通信就变成了PC2和PC1的通信了。

(5)至于后续PC1要不要把数据(可能被修改的数据)交给PC3,那完全取决于PC1的心情。

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_wireshark 交换机端口抓包_05


3.MAC防洪

这种情况下,PC1没有端口镜像的权限,所以它不能直接截取全网的流量,那么该怎么做呢?

(1)PC1发送大量垃圾包,这里产生了大量的MAC地址,导致MAC表爆表

(2)PC2和PC3发出的数据找不到目的地址就会进行全网泛洪,被PC1截取全网流量

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_wireshark 交换机端口抓包_06


!注意:wireshark抓包原理来自这篇博客哟

底层原理

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_数据_07

软件基本应用

快速抓包

  • 进入初始化界面
  • 选择网卡
  • 停止抓包
  • 保存数据包(另存)

wireshark界面详解

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_抓包_08


紫色框框为菜单栏,分别是

  • File:“文件”栏,包含了打开和合并捕获数据文件项、部分或全部保存/打印/导出捕获数据文件项以及退出应用程序选项等。
  • Edit:“编辑”栏,包含了查找数据包、设置时间参考、标记数据包、设置配置文件、设置首选项等。需要注意的是,在“编辑”栏中,没有剪切、复制和粘贴等选项。
  • View:“视图”栏,主要用来控制捕获数据的显示方式。“视图”栏包括了数据包着色选项、缩放字体选项、在新窗口显示数据包选项、展开/折叠数据包细节选项等。
  • Go:“跳转”栏,主要用来跳转到指定数据包。
  • Capture:“捕获”栏,包含了开始/停止捕获选项以及编辑包过滤条件选项等。
  • Analyze:“分析”栏,包含了显示包过滤宏、启用协议、配置用户指定的解码方式以及追踪TCP流等选项。
  • Statistics:“统计”栏,可以显示各种统计窗口,这些统计窗口包括捕获文件的属性选项、协议分级选项以及显示流量图选项等。
  • Telephony:“统计”栏,可以显示与电话相关的统计窗口,这些统计窗口包括媒介分析、VoIP通话统计选项以及SIP流统计选项等。
  • Wireless:无线”栏,用来显示蓝牙和无线网络的统计数据。
  • Tools:“工具”栏,包含了Wireshark中能够使用的工具。
  • Help:“帮助”栏,为用户提供一些基本的帮助,包括了说明文档选项、网页在线帮助选项以及常见问题选项等。

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_抓包_08


红色框为工具栏,分别是

使用工具中的常用按钮,分别有:

  • 启动,停止,重置,查看网卡列出接口选项,打开文件,着色,关闭文件,重新载入当前文件,打开一个对话框,查找包,返回历史记录的上一个,跳转到历史记录中的下一个包,弹出一个设置跳转到指定的包的对话框,跳转到第一个包,跳转到最后一个包,切换是否以彩色方式显示包列表,开启/关闭实时捕捉时自动滚动包列表,增大字体,缩小字体,设置缩放大小为100%

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_封包_10

  • Filter:筛选栏,输入筛选条件,来在捕获的记录中找到所需要的记录。

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_测试工具_11

封包列表(Packet List Pane)

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。

封包详细信息 (Packet Details Pane)

wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_封包_12


这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为

  • Frame: 物理层的数据帧概况
  • Ethernet II: 数据链路层以太网帧头部信息
  • Internet Protocol Version 4: 互联网层IP包头部信息
  • Transmission Control Protocol: 传输层T的数据段头部信
  • wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_wireshark 交换机端口抓包_13

  • TCP三次握手:
  • wireshark 交换机端口抓包 wireshark怎么在交换机上抓包_数据_14

  • Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

十六进制数据(Packet Bytes)
以十六进制和ASCII码的形式显示数据包的内容。
状态栏
包含有专家信息、注释、包的数量和Profile。

!注意:wireshark中MAC地址前三位是厂商名称

软件调试

过滤器

显示过滤器Filter:输入筛选条件,来在捕获的记录中找到所 需要的记录。
筛选实例:
1.筛选ip地址为180.97.134且tcp端口为80的。
输入:ip.addr==180.97.34.131 and tcp.port==80 2.筛选tcp协议的数据包,直接在筛选栏。
输入tcp 3.只查看长度小于128字节的数据包。
输入frame.len<=128 4.只显示与192.168.1.1有关且与tcp端口15234有关的数据包。
输入ip.addr==192.168.1.1 && tcp.port==15234

此外我们可以保存筛选条件,方便下次直接使用,操作如下:

  • 点击菜单栏Analyze——Display Filters——new——在Filter name里给它取个名——在Filter string把我们的筛选条件写上去——Apply——OK
    捕获过滤器Filter
  • 打开wireshark,选择Capture->Interfaces,结果如图:
  • 点击上图的Option,然后点击Capture框里一条数据,再点击IP address然后双击你要监测的网卡,结果如图:
  • 在Capture Filter一栏中输入筛选条件
  • 点击OK后,再点击“Start”,即开始捕获通过筛选的数据包。

!注意:捕获过滤器应用于WinPacp,并使用Berkeley Packet Filter(BPF)语法。
筛选命令例子:
1.src host 192.168.1.1,捕获来自192.168.1.1的数据包

host PC-TEST,捕获与计算机名为PC-TEST交互的数据包

2.icmp[0]==3,只想要得到代表目标不可达(类型3)信息的ICMP数据包。
3. !port 8080,捕获除8080端口外的所有数据包
4. tcp,捕获tcp数据包