Wireshark

来源:互联网 发布:ubuntu 设置用户目录 编辑:程序博客网 时间:2024/06/08 18:47

appendix

With a long Wireshark,never been tidied up, and now some of the basic things, do some arrangement, under the management of own ideas, and consolidate my memory.

———————————————————————————————
附录:
用了很久的Wireshark,一直没有整理,现在一些基础的东西,做些整理,理下自己思路,巩固其记忆。

About Wirshark

Wireshark(前称Ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

What can I do with Wireshark?

使用Wireshark可以做什么?
———————————————————————————————

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。

(ps:如此多的人都在使用Wireshark,说明wireshark真心的强大,再来看看,Wireshark还可以做些神马)

当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……
Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。

(ps:Wireshark还可以这样用,是不是有点小惊喜呢?)

How do I use Wireshark?

———————————————————————————————
怎么使用wireshark?

Download and install

下载安装
———————————————————————————————
Wireshark Download

这里写图片描述

Use small skills

使用小技巧
———————————————————————————————
在此之前,我们先来了解其工作流程:

(1)确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。
(2)选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
(3)使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
(4)使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
(5)使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
(6)构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
(7)重组数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是一个重组一个完整的图片或文件。由于传输的文件往往较大,所以信息分布在多个数据包中。为了能够查看到整个图片或文件,这时候就需要使用重组数据的方法来实现。

(ps:很长的一大段啊,嘿嘿,不过都是些基本操作,属于一看就懂的,介绍点稍微重要的)

Using capture filters

使用捕获过滤器
———————————————————————————————

Filter rule

过滤规则
———————————————————————————————

1.过滤IP

EG:来源IP(百度)或者目标IP等于(百度)
(举个栗子):

  1. 先查下百度的IP,本机ping下就好

    119.75.213.61

过滤规则如下:

ip.src eq 119.75.213.61 or ip.dst eq 119.75.213.61

or

`ip.addr eq 119.75.213.61` // 都能显示来源IP和目标IPip.src eq 119.75.213.61

如图:
这里写图片描述
提示: 在Filter编辑框中,收入过虑规则时,如果语法有误,框会显红色,如正确,会是绿色。

2.过滤端口

例子:

tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 80tcp.port eq 2722tcp.port eq 80 or udp.port eq 80tcp.dstport == 80 // 只显tcp协议的目标端口80tcp.srcport == 80 // 只显tcp协议的来源端口80udp.port eq 15000过滤端口范围tcp.port >= 1 and tcp.port <= 80

这里写图片描述

3.过滤协议
协议 Name 协议 Name tcp 传输控制协议 smtp 邮件传输协议 udp 用户数据包协议 ftp 文件传输协议 arp 地址解析协议 ssl 为网络通信提供安全及数据完整性的一种安全协议 icmp 控制报文协议 https 是以安全为目标的HTTP通道
排除arp包,如!arp   或者   not arp
4.过滤MAC

太以网头过滤

eth.dst == A0:00:00:04:C5:84 // 过滤目标maceth.src eq A0:00:00:04:C5:84 // 过滤来源maceth.dst==A0:00:00:04:C5:84eth.dst==A0-00-00-04-C5-84eth.addr eq A0:00:00:04:C5:84 // 过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的
中文 不等式 代码 小于 < lt 等于 == eq 大于 > gt 大于等于 >= ge 不等于 != ne
5.包长度过滤

例子:

udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和tcp.len >= 7   指的是ip数据包(tcp下面那块数据),不包括tcp本身ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后frame.len == 119 整个数据包长度,从eth开始到最后

eth —> ip or arp —> tcp or udp —> data

6.http(请求)模式过滤

例子:

http.request.method == “GET”http.request.method == “POST”http.request.uri == “/img/logo-edu.gif”http contains “GET”http contains “HTTP/1.// GET包http.request.method == “GET” && http contains “Host: “http.request.method == “GET” && http contains “User-Agent: “// POST包http.request.method == “POST” && http contains “Host: “http.request.method == “POST” && http contains “User-Agent: “// 响应包http contains “HTTP/1.1 200 OK” && http contains “Content-Type: “http contains “HTTP/1.0 200 OK” && http contains “Content-Type: “一定包含如下Content-Type:
7.TCP参数过滤
tcp.flags 显示包含TCP标志的封包。tcp.flags.syn == 0x02     显示包含TCP SYN标志的封包。tcp.window_size == 0 && tcp.flags.reset != 1
8.包内容过滤
tcp[20]表示从20开始,取1个字符tcp[20:]表示从20开始,取1个字符以上tcp[20:8]表示从20开始,取8个字符tcp[offset,n]udp[8:3]==81:60:03 // 偏移8个bytes,再取3个数,是否与==后面的数据相等eth.addr[0:3]==00:06:5B

例子:
判断upd下面那块数据包前三个是否等于0x20 0x21 0x22
我们都知道udp固定长度为8
udp[8:3]==20:21:22

判断tcp那块数据包前三个是否等于0x20 0x21 0x22
tcp一般情况下,长度为20,但也有不是20的时候
tcp[8:3]==20:21:22
如果想得到最准确的,应该先知道tcp长度
matches(匹配)和contains(包含某字符串)语法

ip.src==192.168.1.107 and udp[8:5] matches “\\x02\\x12\\x21\\x00\\x22″        ------???--------ip.src==192.168.1.107 and udp contains 02:12:21:00:22ip.src==192.168.1.107 and tcp contains “GET”//udp contains 7c:7c:7d:7d 匹配payload中含有0x7c7c7d7d的UDP数据包,不一定是从第一字节匹配。
9.dns模式过滤

可在混杂模式和监听模式间切换

10.DHCP

注意:DHCP协议的检索规则不是dhcp/DHCP, 而是bootp
以寻找伪造DHCP服务器为例,介绍Wireshark的用法。在显示过滤器中加入过滤规则,
显示所有非来自DHCP服务器并且

bootp.type==0x02(Offer/Ack/NAK)的信息:bootp.type==0x02 and not ip.src==192.168.1.1
11.msn
msnms && tcp[23:1] == 20 // 第四个是0x20msn数据包msnms && tcp[20:1] >= 41 && tcp[20:1] <= 5A && tcp[21:1] >= 41 && tcp[21:1] <= 5A && tcp[22:1] >= 41 && tcp[22:1] <= 5Amsnms && tcp[20:3]==”USR” // 找到命令编码是USR的数据包msnms && tcp[20:3]==”MSG” // 找到命令编码是MSG的数据包tcp.port == 1863 || tcp.port == 80

如何判断数据包是含有命令编码的MSN数据包?

  • 端口为1863或者80,如:`tcp.port == 1863 || tcp.port == 80

  • 数据这段前三个是大写字母,如:

   tcp[20:1] >= 41 && tcp[20:1] <= 5A && tcp[21:1] >= 41 &&   tcp[21:1] <= 5A && tcp[22:1] >= 41 && tcp[22:1] <= 5A
  • msn是属于TCP协议的,如tcp
  • 第四个为0x20,如:tcp[23:1] == 20
原创粉丝点击