介绍

实时捕捉数据包时Wireshar的特色之一

Wiershark捕捉引擎具备以下特点

  • 支持多种网络接口的捕捉(以太网,令牌环网,ATM...)
  • 支持多种机制触发停止捕捉,例如:捕捉文件的大小,捕捉持续时间,捕捉到包的数量...
  • 捕捉时同时显示包解码详情
  • 设置过滤,减少捕捉到包的容量。
  • 长时间捕捉时,可以设置生成多个文件。对于特别长时间的捕捉,可以设置捕捉文件大小罚值,设置仅保留最后的N个文件等手段

Wireshark捕捉引擎在以下几个方面尚有不足

  • 从多个网络接口同时实时捕捉,(但是您可以开始多个应用程序实体,捕捉后进行文件合并)
  • 根据捕捉到的数据停止捕捉(或其他操作)

准备工作

第一次设置Wireshark捕捉包可能会遇到一些小麻烦

关于如何进行捕捉设置的较为全面的向导可以在:http://wiki.wireshark.org/CaptureSetup.

这里有一些常见需要注意的地方

  • 你必须拥有root/Administrator特权以开始捕捉
  • 必须选择正确的网络接口捕捉数据
  • 如果您想捕捉某处的通信,你必须作出决定:在什么地方可以捕捉到
  • ……以及许多

如果你碰到设置问题,建议看看前面的那个向导,或许会有所帮助

开始捕捉

可以使用下任一方式开始捕捉包

  • 使用打开捕捉接口对话框,浏览可用的本地网络接口框选择您需要进行捕捉的接口启动捕捉
  • 你也可以使用"捕捉选项"按钮启动对话框开始捕捉
  • 如果您前次捕捉时的设置和现在的要求一样,您可以点击"开始捕捉"按钮或者是菜单项立即开始本次捕捉。
  • 如果你已经知道捕捉接口的名称,可以使用如下命令从命令行开始捕捉:

wireshark -i eth0 -k

上述命令会从eht0接口开始捕捉,有关命令行的介绍参加第九节

捕捉接口对话框

如果您从捕捉菜单选择"Interface...",将会弹出如下所示的对话框

描述

从操作系统获取的接口信息

IP

Wireshark能解析的第一个IP地址,如果接口未获得IP地址(如,不存在可用的DHCP服务器),将会显示"Unkow",如果有超过一个IP的,只显示第一个(无法确定哪一个会显示).

Packets

打开该窗口后,从此接口捕捉到的包的数目。如果一直没有接收到包,则会显示为灰度

Packets/s

最近一秒捕捉到包的数目。如果最近一秒没有捕捉到包,将会是灰度显示

Stop

停止当前运行的捕捉

Capture

从选择的接口立即开始捕捉,使用最后一次捕捉的设置。

Options

打开该接口的捕捉选项对话框

Details(仅Win32系统)

打开对话框显示接口的详细信息

Close

关闭对话框

捕捉选项对话框

如果您从捕捉菜单选择"start..."按钮(或者从主工具栏选择对应的项目),Wireshark弹出"Capture Option/捕捉选项"对话框。

捕捉桢

Interface

该字段指定你想用于进行捕捉的借口。一次只能使用一个接口。这是一个下拉列表,简单点击右侧的按钮,选择你想要使用的接口。默认第一是支持捕捉的non-loopback(非环回)接口,如果没有这样的接口,第一个将是环回接口。在某些系统中,回借口不支持捕捉包(windows平台下的环回接口就不支持。)

在命令行使用-i <interface>参数可以替代该选项

IP address

表示选择接口的IP地址。如果系统未指定IP地址,将会显示为"unknown"

Link-layer header type

除非你有些特殊应用,尽量保持此选项默认。

Buffer size: n megabyte(s)

输入用于捕捉的缓层大小。该选项是设置写入数据到磁盘前保留在核心缓存中捕捉数据的大小,如果你发现丢包。尝试增大该值。

停止捕捉桢

... after n packet(s)

在捕捉到指定数目数据包后停止捕捉

... after n megabytes(s)

在捕捉到指定容量的数据(byte(s)/kilobyte(s)/megabyte(s)/gigabyte(s))后停止捕捉。如果没有适用"user multiple files",该选项将是灰色

... after n minute(s)

在达到指定时间后停止捕捉

显示桢选项

Update list of packets in real time

在包列表面板实时更新捕捉数据。如果未选定该选项,在Wireshark捕捉结束之前将不能显示数据。如果选中该选项,Wireshark将生成两个独立的进程,通过捕捉进程传输数据给显示进程。

Automatic scrolling in live capture

指定Wireshark在有数据进入时实时滚动包列表面板,这样您将一直能看到最近的包。反之,则最新数据包会被放置在行末,但不会自动滚动面板。如果未设置"update list of packets in real time",该选项将是灰色不可选的。

Hide capture info dialog

选中该选项,将会隐藏捕捉信息对话框

名称解析设置

Enable MAC name resolution

设置是否让Wireshark翻译MAC地址为名称

Enable network name resolution

是否允许Wireshark对网络地址进行解析

按钮

进行完上述设置以后,你可以点击start按钮进行捕捉,也可以点击Cancel退出捕捉.

开始捕捉以后,在你收集到足够的数据时你可以停止捕捉。

捕捉文件格式、模式设置

在 捕捉时,libpcap 捕捉引擎(linux环境下)会抓取来自网卡的包存放在(相对来说)较小的核心缓存内。这些数据由Wireshark读取并保存到用户指定的捕捉文件中。

保存包数据到捕捉文件时,可采用差异模式操作。

捕捉文件模式选项

"File"选项

"Use multiple files"选项

"Ring buffer with n files"选项

Mode

最终文件命名方式

-

-

-

Single temporary file

etherXXXXXX (where XXXXXX 是一个独立值)

foo.cap

-

-

Single named file

foo.cap

foo.cap

x

-

Multiple files,continuous

foo_00001_20040205110102.cap, foo_00002_20040205110102.cap, ...

foo.cap

x

x

Multiple files,ring buffer

foo_00001_20040205110102.cap, foo_00002_20040205110102.cap, ...

Single temporary file

将会创建并使用一个临时文件(默认选项).捕捉文件结束后,该文件可以由用户指定文件名。

Single named file

使用单独文件,如果你想放到指定目录,选择此模式

Multiple files,continuous

与single name file模式类似,不同点在于,当捕捉达到多文件切换临界条件时之一时,会创建一个新文件用于捕捉

Multiple files,ring buffer

与"multiple files continuous"模式类似,不同之处在于,创建的文件数目固定。当达到ring buffer with n值时,会替换掉第一个文件开始捕捉,如此循环往复。

该模式可以限制最大磁盘空间使用量,即使未限制捕捉数据输入,也只能保留最后几个捕捉数据。

链路层包头类型

在通常情况下,你不需要选择链路层包头类型。下面的段落描述了例外的情况,此时选择包头类型是有必要的,所以你需要知道怎么做:

如果你在某种版本BSD操作系统下从某种802.11 设备(无线局域网设备)捕捉数据,可能需要在"802.11"和"Ethernet"中做出选择。"Ethernet"将会导致捕捉到的包带有伪以太网帧头(不知道是不是应该叫伪首部更准确些);"802.11"将会导致他们带有802.11帧头。如果捕捉时的应用程序不支持"802.11帧头",你需要选择"802.11"

如果你使用Endace DAG card(某种网络监视卡)连接到同步串口线(译者注:E文为synchronousserial line,权且翻译作前文吧,未接触过此卡、未熟稔此线名称),可能会出现"PPP over serial" 或 "CiscoHDLC"(自己google去)供选择。根据你自己的情况选择二者中的一个。

如果你使用Endace DAG card(同上)连接到ATM网络,将会提供"RFC 1483 IP-over-ATM"、"Sun raw ATM"供选择。如果捕捉的通信是RFC 1483封装IP(RFC 1483 LLC-encapsulated IP,不翻译为妙),或者需要在不支持SunATM帧头的应用程序下捕捉,选择前者。反之选择后者。

如果你在以太网捕捉,将会提供"Ethernet"、"DOCSIS"供选择,如果您是在Cisco Cable Modem Termination System(CMTS是思科同轴电缆终端调制解调系统?)下捕捉数据。它会将DOCSIS(同轴电缆数据服务接口)通信放置到以太网中,供捕捉。此时需要选择"DOCSIS",反之则反之。

捕捉时过滤

Wireshark使用libpcap过滤语句进行捕捉过滤(what about winpcap?)。在tcpdump主页有介绍,但这些只是过于晦涩难懂,所以这里做小幅度讲解。

捕捉来自特定主机的telnet协议

tcp port 23 and host 10.0.0.5

捕捉所有不是来自10.0.0.5的telnet 通信

tcp host 23 and not src host 10.0.0.5

在捕捉过程中

捕捉时,会出现下面的对话框

捕捉信息对话框

上述对话框会向你显示捕捉到包的数目,捕捉持续时间。选择的被统计的协议无法更改

停止捕捉

运行中的捕捉线程可以用下列方法停止:

  1. 使用捕捉信息对话框上的"stop"按钮停止。
  1. 使用菜单项"Capture/ Stop"
  2. 使用工具栏项" Stop"
  3. 使用快捷键:Ctrl+E
  4. 如果设置了触发停止的条件,捕捉达到条件时会自动停止。

重新启动捕捉

运行中的捕捉进程可以被重新启动。这将会移出上次捕捉的所有包。如果你捕捉到一些你不感兴趣的包,你不想保留它,这个功能十分有用。

重新启动是一项方便的功能,类似于停止捕捉后,在很短的时间内立即开始捕捉。以下两种方式可以实现重新启动捕捉:

  1. 使用菜单项"Capture/ Restart"
  2. 使用工具栏项" Restart"

wireshark学习系列————4、实时捕捉数据包相关推荐

  1. TCP/IP学习(30)——L2数据链路层的数据包处理详细流程

    原文地址:TCP/IP学习(30)--L2数据链路层的数据包处理详细流程 作者:GFree_Wind 本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝 ...

  2. wireshark学习系列————6、高级部分

    在本节将介绍Wireshark的一些高级特性 "Follow TCP Stream" 如果你处理TCP协议,想要查看Tcp流中的应用层数据,"Following TCP ...

  3. python小数乘法_Polymorph:支持几乎所有现有协议的实时网络数据包操作框架

    Polymorph是一个用Python3编写的框架,其允许实时修改网络数据包,为用户提供对数据包内容的最大化控制.该框架旨在实现任何现有协议(包括没有公共规范的私有协议)的网络数据包的实时修改.除此之 ...

  4. Wireshark软件的安装,进行数据包的捕获【Wireshark安装使用】

    Wireshark软件的安装 进行数据包的捕获 Wireshark软件的安装 运行exe安装文件之后点击next 点击我同意: 安装的组件,我们这里直接默认点击next: 选择修改目录,点击next ...

  5. Wireshark 抓取 iphone 测试机的数据包

    参考文章: wireshark抓包 wiresharkIP过滤 准备工作 安装 WireShark 准备 iphone 测试机 数据线一根 连接 获取手机 UUID 手机通过数据线连接电脑,如果电脑是 ...

  6. 蓝牙Mesh学习总结四(Mesh数据包分析)

    蓝牙mesh数据包的结构如下图: 总长31个字节. Length (1Byte):数据长度 Type (1Byte):广播类型 IVI (1bit):用来认证加密Network PDU的IV inde ...

  7. B站小迪安全学习笔记第2天-数据包拓展

    网站解析对应 1.简要网站搭建过程 2.涉及到的攻击层面?(源码,搭建平台,系统,网络层等) 3.涉及到的安全问题?(目录,敏感文件,弱口令,IP 及域名等) 这几个不知道为什么开头提及了一下,就一笔 ...

  8. WinPcap基础知识(第三课:打开一个适配器捕捉数据包)

    现在我们已经知道了怎样去获取一个适配器并使用它,让我们开始真正的工作-----开始抓取网络数据包吧.在这一课中我们将写一个程序,这个程序将在我们选择的适配器上监听,并抓取通过这个适配器上的每一个数据包 ...

  9. Echarts 学习系列(3)-Echarts动态数据交互

    写在前面 上一小节,我们总结了折线(面积)图.柱状(条形)图.饼(圆环)图类型的图表. 但是,都是静态的.接下来的,这一小节,总结的是Echarts 动态数据的交换. 前置条件 开发环境:win10 ...

最新文章

  1. C++项目中的extern C {}
  2. 如何把a1的图纸变成a0_「云顶之弈装备解析」面对回蓝——青龙刀与大天使究竟该如何取舍...
  3. 永洪Desktop自由表格间计算使用教程
  4. 无csrf防护的html页面,Springs CSRF保护仅* HTML登录页面
  5. spring-注入list集合对象(值是对象)
  6. 继承thread类创建线程
  7. TeamCity : 自动触发 Build
  8. mysql批量取消多行sql_mysql批量删除指定前缀的表,批量修改表名的SQL语句
  9. Python3 数据库连接
  10. java返回泛型_Java泛型从泛型方法返回持有者对象
  11. 拳王虚拟项目公社:微信朋友圈卖虚拟资源教程怎么做,月入过万发方法
  12. 拿来就能用!用爬虫秒抢到孩子心仪的幼儿园 | CSDN 博文精选
  13. nyoj107hdu A Famous ICPC Team
  14. mysql的封锁协议_【眼见为实】数据库并发问题 封锁协议 隔离级别
  15. AndroidStudio之Git提交代码出现author ‘xxx‘ is not ‘Name ‘ and matches no existing author 的解决方法
  16. 详解变频器、逆变器工作原理
  17. WiFi网络测速专业版
  18. 【Unity2D】关卡编辑好帮手——TileMap
  19. UDP重传,似牛非马。。。
  20. Java多线程socket网络协议传输

热门文章

  1. NDN命名网络工作机制和优点
  2. perl linux yum,Linux CentOS6.5(x86_64)安装Perl5.26
  3. Android的自定义view的旋转圆形菜单实现
  4. C++ 多线程学习总结
  5. CSTC—基于零仲裁证明的价值协议
  6. CTF-Anubis HackTheBox 渗透测试(二)
  7. Genero BDL 数据类型(1)
  8. Netty实现聊天室
  9. php swoole 教程,PHP Swoole 基本使用
  10. 自建传奇2服务器,自己想要架设传奇服务器的详细攻略