wireshark学习之包过滤
wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。它不会对网络封包产生内容的修改,只反映出目前流通的封包资讯,其本身也不会送出封包至网络上。wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
一些基本的设置在 编辑---->首选项里可以找到,版本不同界面上有所差异。
学习使用wireshark可以参考:https://community.emc.com/thread/194901?start=0&tstart=0
以及书籍《wireshark网路分析实战》【以色列】Yoram Orzach著 人民邮电出版社(这本书的内容比较全面,也比较贴近实际用法的场景介绍)
1.wireshark过滤规则
过滤对分析包含大量文件信息的报文集合有很大的功能,系统还具有自动完成功能。其自带的捕获过滤功能:在Capture -> Capture Filters中设置;与显示过滤功能:过滤IP,MAC,端口,协议;根据报文长度,http、dns等模式,TCP参数,包内容过滤。过滤的方式可以保留成一个快捷键。而过滤使用的语句可以类似与正则表达式的使用。
下面主要介绍比较常用的几个过滤功能使用方式。
TCP:只显示通过TCP(包含TCP报文段)的报文。其他协议的过滤使用类似。not TCP或者!TCP表示除了TCP协议的报文。
Tcp.port == 80 or Tcp.port== 8080对于TCP的建立连接很快捷进行分析。
ip.src ==192.168.1.102:源IP为192.168.1.102
目的IP,MAC地址等也使用类似的功能。相关的一些关于数值的使用也可以使用字符来代替。
小于等于le等于eq大于gt大于等于ge不等ne
http模式的过滤以及内容的过滤。这是最重要的一部分
http.request.method ==“GET”以GET模式提交的方式
http contains“HTTP/1.1 200 OK”HTTP服务的成功连接
正则表达式的结合使用:
tcp[20:] matches“^GET (.*?)HTTP/1.1\\x0d\\x0a[\\x00-\\xff]*Host:“
eth.addr[0:3]==e4:02:9bMAC地址前三部分等于e4:02:9b
ip[8:1]==1分析TTL值
tcp.flags.syn==1#查看TCP建立链接的SYN数据包
2.wireshark有效功能窗口
封包列表颜色区分,方便识别和查找。
捕获日志:
专家分析状态:
跟踪数据流Analyze>Follow>TCP/UDP
会话分析:statistics>conversations。用于分析会话的分布,比如大量的恶意流量来源,可以有效的获取信息,同时列表形式的情况就可能是一个扫描的工作在进行。还可以发现是否有一个内网IP曝光程度太高(即会话数量很多),是否出现广播包(广播包的数量非常多)
从报文中解析出相应的文件:
使用tcp过滤器跟踪数据流,发现有文件格式是jpg的文件。
File>export object>http得到导出的另一种格式:选择对应文件保存就可以