Wireshark和tcpdump
一、wireshark基础
- Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
- 在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的途径取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是全世界最广泛的网络封包分析软件之一。
wireshark和burpsuite的区别
burpsuite:抓取http/https/ws协议,可以修改包,用作中间人攻击
wireshark:抓取TCP/IP模型所有协议,不能修改包,用作流量分析
基本结构
二、Wireshark使用
2.1、捕获过滤器
- 捕获过滤器的类型Type(host、net、port)
- 方向Dir(src、dst)
- 协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)
- 逻辑运算符(&&与、||或、!非)
2.1.1、协议过滤
- tcp,只显示TCP协议的数据包列表
- http,只查看HTTP协议的数据包列表
- icmp,只显示ICMP协议的数据包列表
2.1.2、IP过滤
- host 192.168.1.104
- src host 192.168.1.104
- dst host 192.168.1.104
2.1.3、端口过滤
- port 80
- src port 80
- dst port 80
2.1.4、逻辑运算符
- src host 192.168.1.104 && dst port 80 抓取主机地址为192.168.1.80、目的端口为80的数据包
- host 192.168.1.104 || host 192.168.1.102 抓取主机为192.168.1.104或者192.168.1.102的数据包
- !broadcast 不抓取广播数据包
2.2、显示过滤器
2.2.1、比较操作符
比较操作符有
- == 等于、
- != 不等于
- 大于 >
- < 小于
- 大于等于>=
- <=小于等于
2.2.2、协议过滤
- 比较简单,直接在显示过滤框中直接输入协议名即可。注意:协议名称需要输入小写。
- tcp,只显示TCP协议的数据包列表
- http,只查看HTTP协议的数据包列表
- icmp,只显示ICMP协议的数据包列表
2.2.3、ip过滤
- ip.src == 192.168.1.104 显示源地址为192.168.1.104的数据包列表
- ip.dst == 192.168.1.104 显示目标地址为192.168.1.104的数据包列表
- ip.addr == 192.168.1.104 显示源IP地址或目标IP地址为192.168.1.104的数据包列表
2.2.4、端口过滤
- tcp.port ==80, 显示源主机或者目的主机端口为80的数据包列表。
- tcp.srcport == 80, 只显示TCP协议的源主机端口为80的数据包列表。
- tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。
2.2.5、Http模型过滤
- http.request.method==”GET”
- http.cookie == “PHPSESSID=qrq6mlhdvh4nn4j54ae77hde70”
2.2.6、逻辑运算符为 and/or/not
过滤多个条件组合时,使用and/or。比如获取IP地址为192.168.1.104的ICMP数据包表达式为ip.addr== 192.168.1.104 and icmp
2.3、包的分析
2.3.1、ICMP
简介 : 测试网络连通、主机可达 ,对应的命令就是ping
怎样获取数据包 : ping host/ip
数据包分析
2.3.2、HTTP
显示过滤器HTTP,右键追踪HTTP流
可以看到请求包
也可以直接用来生成命令
2.4、包的使用
在恶意流量分析过程中,经常会存在文件上传和文件下载的过程,就需要从流量里,提取并恢复原有的文件内容,进行分析研判。
2.4.1、Media type获取
如果是分段获取或分段上传,这种方法无法使用
下载后解压下来就可以查看所上传的东西了
2.4.1、原始数据获取
万能,但是麻烦
追踪下载或上传的HTTP流
这种方式保存的文件无法直接打开,因为会多出HTTP请求头,可以手动剔除或者借助binwalk提取文件
将所选的删除掉,保存后就可以打开压缩包了。
- Binwalk
sudo binwalk --run-as=root --dd="zip" 1.zip |
2.4.2、导出对象
只有下载文件才能使用这种方法,且wireshark识别的可能不准
三、tcpdump
tcpdump是Unix 下的一个 网络数据采集分析工具,也就是我们常说的抓包工具。
与它功能类似的工具有 wireshark ,不同的是,wireshark 有图形化界面,而 tcpdump 则只有命令行。
3.1、tcpdump基础语法
tcpdump [option] [proto] [type] [direction] |
- option 可选参数:将在后边一一解释。
- proto 类过滤器:根据协议进行过滤,可识别的关键词有: tcp, udp, icmp, ip, ip6, arp, rarp,ether,wlan,fddi, tr, decnet
- type 类过滤器:可识别的关键词有:host, net, port, portrange,这些词后边需要再接参数。
- direction 类过滤器:根据数据流向进行过滤,可识别的关键字有:src, dst,同时你可以使用逻辑运算符进行组合,比如 src or dst
3.2、使用案例
抓取所有经过eth1网卡的流量 |