Linux下Wireshark的网络抓包使用方法

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。
与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。

Wireshark的优势:

- 安装方便。

- 简单易用的界面。

- 提供丰富的功能。

Wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。

Wireshark目前世界上最受欢迎的协议分析软件,利用它可将捕获到的各种各样协议的网络二进制数据流翻译为人们容易读懂和理解的文字和图表等形式,极大地方便了对网络活动的监测分析和教学实验。它有十分丰富和强大的统计分析功能,可在Windows,Linux  和UNIX等系统上运行。此软件于1998年由美国Gerald  Combs首创研发,原名Ethereal,至今世界各国已有100多位网络专家和软件人员正在共同参与此软件的升级完善和维护。它的名称于2006年5月由原Ethereal改为Wireshark。至今它的更新升级速度大约每2~3个月推出一个新的版本,2007年9月时的版本号为0.99.6。但是升级后软件的主要功能和使用方法保持不变。它是一个开源代码的免费软件,任何人都可自由下载,也可参与共同开发。

Wireshark网络协议分析软件可以十分方便直观地应用于计算机网络原理和网络安全的教学实验,网络的日常安全监测,网络性能参数测试,网络恶意代码的捕获分析,网络用户的行为监测,黑客活动的追踪等。因此它在世界范围的网络管理专家,信息安全专家,软件和硬件开发人员中,以及美国的一些知名大学的网络原理和信息安全技术的教学、科研和实验工作中得到广泛的应用。

在安装新旧版本软件包和使用中,Ethereal与Wireshark的一些细微区别如下:

(1)Ethereal软件安装包中包含的网络数据采集软件是winpcap 3.0的版本,保存捕获数据时只能用英文的文件名,文件名默认后缀为 .cap

(2)Wireshark软件安装包中,目前包含的网络数据采集软件是winpcap  4.0版本,保存捕获数据时可以用中文的文件名,文件名默认后缀为  .pcap。另外,Wireshark可以翻译解释更多的网络通信协议数据,对网络数据流具有更好的统计分析功能,在网络安全教学和日常网络监管工作中使用更方便,而基本使用方法仍然与Ethereal相同。

winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。

在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析。
最近才发现,原来wireshark也提供有Linux命令行工具-tshark。tshark不仅有抓包的功能,还带了解析各种协议的能力。下面我们以两个实例来介绍tshark工具。
1、安装方法
CentOS:

代码如下:

yum install -y wireshark
Ubuntu:

代码如下:

apt-get install -y tshark
2、实时打印当前http请求的url(包括域名)

代码如下:
tshark  -s 512 -i eth0 -n -f 'tcp dst port 80' -R 'http.host and  http.request.uri' -T fields -e http.host -e http.request.uri -l | tr -d  '\t'
下面介绍参数含义:
-s 512 :只抓取前512个字节数据
-i eth0 :捕获eth0网卡
-n :禁止网络对象名称解析
-f ‘tcp dst port 80′ :只捕捉协议为tcp,目的端口为80的数据包
-R ‘http.host and http.request.uri’ :过滤出http.host和http.request.uri
-T fields -e http.host -e http.request.uri :打印http.host和http.request.uri
-l :输出到标准输出
3、实时打印当前mysql查询语句

代码如下:
tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
下面介绍参数含义:
-s 512 :只抓取前512个字节数据
-i eth0 :捕获eth0网卡
-n :禁止网络对象名称解析
-f ‘tcp dst port 3306′ :只捕捉协议为tcp,目的端口为3306的数据包
-R ‘mysql.query’ :过滤出mysql.query
-T fields -e mysql.query :打印mysql查询语句
tshark使用-f来指定捕捉包过滤规则,规则与tcpdump一样,可以通过命令man pcap-filter来查得。
tshark使用-R来过滤已捕捉到的包,与界面版wireshark的左上角Filter一致。

时间: 2024-09-13 00:40:46

Linux下Wireshark的网络抓包使用方法的相关文章

关于网络抓包,linux系统下kismet的使用方法

问题描述 关于网络抓包,linux系统下kismet的使用方法 我想知道k?i?smet怎么用呢?我看到它抓的包了,但怎么保存成文件?只看到它扫描到附近的Wi-Fi,能抓到客户端的包么? 解决方案 使用XILINX SDK工具通过网络进行基于linux系统的远程调试方法Linux下抓包工具tcpdump使用方法Linux下的网络HOOK实现以及使用方法

网络抓包工具

http://blog.csdn.net/wangxg_7520/article/details/2795229 看了太多的"自己动手",这次咱也"自己动手"一下,写个简单的网络抓包工具吧.要写出像tcpdump和wireshark(ethereal)这样的大牛程序来,咱也没那能耐,呵呵.所以这个工具只能抓取本地IP数据报,同时它还使用了BPF,目的是了解如何进行简单有效的网络抓包. 当打开一个标准SOCKET套接口时,我们比较熟悉的协议往往是用AF_INET来建立

一个最简单的通过WireShark破解SSL加密网络数据包的方法

原文地址: http://article.yeeyan.org/view/530101/444688 一般来说,我们用WireShark来抓取包进行分析是没有多大问题的.但这里有个问题是,如果你碰到的是用SSL/TLS等加密手段加密过的网络数据的时候,往往我们只能束手无策.在过去的话,如果我们拥有的该传输会话的私钥的话我们还是可以将它提供给WireShark来让其对这些加密数据包进行解密的   1. 简介     相信能访问到这篇文章的同行基本上都会用过流行的网络抓包工具WireShark,用它

[工具]Mac平台开发几个网络抓包工具(sniffer)

  [工具]Mac平台开发几个网络抓包工具(sniffer)  Cocoa Packet Analyzer http://www.tastycocoabytes.com/cpa/ Cocoa Packet Analyzer is a native Mac OS Ximplementation of a network protocol analyzer and packet sniffer. CPA supportsthe industry-standard PCAP packet captur

怎么用C#编写网络抓包工具?

问题描述 利用c#编写网络抓包工具?利用Windows窗体应用程序把抓取的包通过窗口显示出来,我完全是菜鸟啊,我有在控制台应用程序下的代码资料,但是要用那些控件在Windows窗体应用程序中编写完全不懂啊!求大虾们帮忙点解! 解决方案 解决方案二:你要干什么?采集?

对几款网络抓包工具的评测

对几款网络抓包工具的评测 by 拉登哥哥 最近在写个CMD远控 写着写着 想在服务端上做点手脚都知道杀软误报 特别是黑软大部分都报毒 但实际上是正常的对此可能部分人并不装杀软 基本上靠自己分析软件是否安全 1 低级点的 用相关工具 检测不能真的完全保证程序无毒  也没啥技术含量  原因是 可能你正在检测时 后门没激活(比如 我设置晚上12点才向外连接等)  你在白天或其它时间检测我的工具 可能没发现任何异常 晚上你开工具做事的时候  后门也跟着激活了 哈哈 这方法 实际中还真有人这么看 以前某个

vc60-VC++ 6.0 做的网络抓包程序 已上传至http://pan.baidu.com/s/1sZrrX

问题描述 VC++ 6.0 做的网络抓包程序 已上传至http://pan.baidu.com/s/1sZrrX 使用winpcap和VC6.0做的抓包程序cutesniffer, 出现LINK:2005错误 不知道问题出在哪里,求指点

有关网络抓包的初级问题,请大侠赐教

问题描述 有关网络抓包的初级问题,请大侠赐教 1.抓包是否能够过滤掉无效报文,如重复.缺少部分内容等 2.如果银行系统间用了 Tuxedo.cics 等中间件,是否能够抓到报文?抓到后,是否能够被解析? 3.发向核心系统的报文肯定很多样,我们是否能够通过公共报文头分析获得我们想要的报文,其他报文丢掉? 解决方案 通用的抓包工具,无法识别什么是重复包,更不要说判断缺少.或者解析.这些都要你自己来实现.

Android设备上非root的抓包实现方法(Tcpdump方法)_Android

通常我们在Android应用中执行某个命令时会使用"Runtime.getRuntime().exec("命令路径")"这种方式,但是当我们执行抓包操作时,使用这条命令无论如何都不行,通过下面代码打印结果发现,该命令一定要在root权限下才能执行. BufferedReader brW = new BufferedReader(new InputStreamReader(p.getErrorStream())); while((str = brW.readLine(