应用Wireshark过滤条件抓取特定数据流[转]

如果看了这个你还是不会用Wireshark,那就去杀了她吧,地址EMC中文支持论坛https://community.emc.com/go/chinese


介绍

应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏。双击选定的接口,如下图所示,弹出Edit Interface Settints窗口。

下图显示了Edit Interface Settings窗口,这里可以设置抓包过滤条件。如果你确知抓包过滤条件的语法,直接在Capture Filter区域输入。在输入错误时,Wireshark通过红色背景区域表明无法处理过滤条件。最有可能的情况是,过滤条件中含有输入错误,或是使用了display filter的语法。

点击Capture Filter按钮查看并选择已保存的抓包过滤条件。

更多信息

抓取指定****IP地址的数据流:

如果你的抓包环境下有很多主机正在通讯,可以考虑使用所观察主机的IP地址来进行过滤。以下为IP地址抓包过滤示例:

  • host 10.3.1.1:抓取发到/来自10.3.1.1的数据流
  • host 2406:da00:ff00::6b16:f02d:抓取发到/来自IPv6地址2406:da00:ff00::6b16:f02d的数据流
  • not host 10.3.1.1:抓取除了发到/来自10.3.1.1以外的所有数据流
  • src host 10.3.1.1:抓取来自10.3.1.1的数据流
  • dst host 10.3.1.1:抓取发到10.3.1.1的数据流
  • host 10.3.1.1 or 10.3.1.2:抓取发到/来自10.3.1.1,以及与之通讯的所有数据流,与10.3.1.2,以及与之通讯的所有数据流

抓取指定****IP地址范围的数据流:

当你需要抓取来自/发到一组地址的数据流,可以采用CIDR(无类别域间路由,Classless Interdomain Routing)格式或使用mask参数。

  • net 10.3.0.0/16:抓取网络10.3.0.0上发到/来自所有主机的数据流(16表示长度)
  • net 10.3.0.0 mask 255.255.0.0:与之前的过滤结果相同
  • ip6 net 2406:da00:ff00::/64:抓取网络2406:da00:ff00:0000(IPv6)上发到/来自所有主机的数据流
  • not dst net 10.3.0.0/16:抓取除了发到以10.3开头的IP地址以外的所有数据流
  • not src net 10.3.0.0/16:抓取除了来自以10.3开头的IP地址以外的所有数据流
  • ip proto <protocol code>:抓取ip协议字段等于<protocol code>值的报文。如TCP(code 6), UDP(code 17), ICMP(code 1)。
  • ip[2:2]==<number>:ip报文大小
  • ip[8]==<number>:TTL(Time to Live)值
  • ip[9]==<number>:协议值
  • icmp[icmptype]==<identifier>: 抓取 ICMP代码等于identifier的ICMP报文, 如icmp-echo 以及 icmp-request。

方括号中第一个数字表示从协议头开始的偏移量,第二个数字表示需要观察多少位。

抓取发到广播或多播地址的数据流****:

只需侦听广播或多播数据流,就可以掌握网络上主机的许多信息。

  • ip broadcast:抓取广播报文
  • ip multicast:抓取多播报文
  • dst host ff02::1:抓取到IPv6多播地址所有主机的数据流
  • dst host ff02::2:抓取到IPv6多播地址所有路由器的数据流

小贴士:

Wireshark包含了一些默认的抓包过滤条件。点击主工具栏的Edit Capture Filters,跳转到已保存抓包过滤列表。你会发现一些常见抓包过滤的示例。

抓取基于****MAC地址的数据流:

当你需要抓取发到/来自某一主机的IPv4或IPv6数据流,可创建基于主机MAC地址的抓包过滤条件。

应用MAC地址时,需确保与目标主机处于同一网段。

  • ether host 00:08:15:00:08:15:抓取发到/来自00:08:15:00:08:15的数据流
  • ether src 02:0A:42:23:41:AC:抓取来自02:0A:42:23:41:AC的数据流
  • ether dst 02:0A:42:23:41:AC:抓取发到02:0A:42:23:41:AC的数据流
  • not ether host 00:08:15:00:08:15:抓取除了发到/来自00:08:15:00:08:15以外的所有数据流
  • ether broadcast或ether dst ff:ff:ff:ff:ff:ff:抓取广播报文
  • ether multicast:多播报文
  • 抓取指定以太网类型的报文:ether proto 0800
  • 抓取指定VLAN:vlan <vlan number>
  • 抓取指定几个VLAN:vlan <vlan number> and vlan <vlan number>

抓取基于指定应用的数据流****:

你可能需要查看基于一个或几个应用的数据流。抓包过滤器语法无法识别应用名,因此需要根据端口号来定义应用。通过目标应用的TCP或UDP端口号,将不相关的报文过滤掉。

  • port 53:抓取发到/来自端口53的UDP/TCP数据流(典型是DNS数据流)
  • not port 53:抓取除了发到/来自端口53以外的UDP/TCP数据流
  • port 80:抓取发到/来自端口80的UDP/TCP数据流(典型是HTTP数据流)
  • udp port 67:抓取发到/来自端口67的UDP数据流(典型是DHCP据流)
  • tcp port 21:抓取发到/来自端口21的TCP数据流(典型是FTP命令通道)
  • portrange 1-80:抓取发到/来自端口1-80的所有UDP/TCP数据流
  • tcp portrange 1-80:抓取发到/来自端口1-80的所有TCP数据流

抓取结合端口的数据流****:

当你需要抓取多个不连续端口号的数据流,将它们通过逻辑符号连接起来,如下图所示:

  • port 20 or port 21:抓取发到/来自端口20或21的UDP/TCP数据流(典型是FTP数据和命令端口)
  • host 10.3.1.1 and port 80:抓取发到/来自10.3.1.1端口80的数据流
  • host 10.3.1.1 and not port 80:抓取发到/来自10.3.1.1除了端口80以外的数据流
  • udp src port 68 and udp dst port 67:抓取从端口68到端口67的所有UDP数据流(典型是从DHCP客户端到DHCP服务器)
  • udp src port 67 and udp dst port 68:抓取从端口67到端口68的所有UDP数据流(典型是从DHCP服务器到DHCP客户端)
  • 抓取TCP连接的开始(SYN)和结束(FIN)报文,配置tcp[tcpflags] & (tcp-syn|tcp-fin)!=0
  • 抓取所有RST(Reset)标志位为1的TCP报文,配置tcp[tcpflags] & (tcp-rst)!=0
  • less <length>:抓取小于等于某一长度的报文,等同于len <=<length>
  • greater <length>:抓取大于等于某一长度的报文,等同于len >=<length>

SYN: 简历连接的信号

FIN: 关闭连接的信号

ACK: 确认接收数据的信号

RST: 立即关闭连接的信号

PSH: 推信号,尽快将数据转由应用处理

  • tcp[13] & 0x00 = 0: No flags set (null scan)
  • tcp[13] & 0x01 = 1: FIN set and ACK not set
  • tcp[13] & 0x03 = 3: SYN set and FIN set
  • tcp[13] & 0x05 = 5: RST set and FIN set
  • tcp[13] & 0x06 = 6: SYN set and RST set
  • tcp[13] & 0x08 = 8: PSH set and ACK not set

tcp[13]是从协议头开始的偏移量,0,1,3,5,6,8是标识位。

尽量避免使用抓包过滤。即便多看几个报文,也比漏看一个报文要好。当你抓取了大量报文的时候,用显示过滤(过滤选项也更多)来重点查看某一数据流。

小贴士:

如果你需要查看TCP帧中的某一ASCII字符串,用Wireshark String-Matching Capture Filter Generator(http://www.wireshark.org/tools/string-cf.html)。例如,想要抓取HTTP GET报文,输入GET并将TCP偏移量设置为0。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容