边伯贤误会女主虐文:WinDump--Windows 的tcpdump工具
来源:百度文库 编辑:偶看新闻 时间:2024/05/03 03:34:39
安装和基本用途
WinDump分两部分。第一部分是WinPcap一系列网络记录驱动,是WinDump用来获得计算机中信息包到网络界面的信息。第二部分是程序本身,windump,在安装WinPcap library后从命令列中调用。
当你运行windump时你第一个想要使用的选项是-D,它会列出目前系统中所有可使用的网络界面。默认情况下程序听从第一可用界面,但是在Windows中,它是典型的软件拨号配置器,不是实体网络配置器。-D的结果通常如下:
1.\Device\NPF_GenericDialupAdapter (Generic dialup adapter)
2.\Device\NPF_ (Intel DC21140 PCI Fast Ethernet Adapter (Microsoft's Packet Scheduler) )
要使用专门的配置器,用-i命令和配置器号运行程序。例如,如果你想使用上述Ethernet配置器,用windump -i 2。这要比通过GUID向配置器提交简单得多,但是要注意如果新硬件或软件配置器增加,那么配置器号不是保持固定不变的。
Windump具有通过详细标准过滤已记录数据的能力――详细的网络协议,主机或端口――通常在命令列中有详细说明。其中的语法相当复杂。在程序文件中有详细解释,这有一些例子:
windump -i 2 port 80
通过端口80从界面#2记录所有流量
windump -i 2 host im-chat.com
记录所有从the host im-chat.com.或来或到界面#2的流量
windump -i 1 net 127
这些参数也可以自由组合。
输出记录
默认情况下,程序的输出记录存在控制台。除非,你使用程序仅仅是为了观察网络流量,你都想用-w
如果你打算在程序运行时查看输出文件,用-U选项。它使得程序将每一已接收信息包写到输出文件中。默认情况下,程序为数据保留1MB的缓存空间。
默认情况下,windump只记录每个信息包的标题,不是full payload。-s 0选项使程序为每个信息包堆积整个rawpayload。如果你和-A选项一起用,你可以以ASCII格式记录结果。例如,用这种方式记录网页,服务器会提供可读形式,不会以gzip/deflate形式发送记录。
另一个有用的选项, -C
当你停止程序(通过点击Ctrl-Break)时,程序向控制台提交一份报告列出所记录、阻止、丢弃(由于缺少缓存空间)的信息包数。如果程序开始丢弃信息包,你可以向记录缓冲器增加分配空间,通过-B
高端性能
WinDump一个更强有力的用途就是它能通过IPsec将已加密的网络数据流解密。这不是简单的操作,她要求你有IPsec加密的ESP密匙,同时将tcpdump应用软件与密码使用法选项结合才能解密(一些本文以外的内容)。
如果你想将有滤镜参数的外部文件列入清单,你可以用-F
最后,如果你想使程序阅读、过滤之前已标记的数据而不是网络适配器上的现时数据,使用-r
Windump 应用实例
列出系统所有网络接口
C:\>windump -D
1.\Device\NPF_GenericDialupAdapter (Adapter for generic dialup and VPN capture)
2.\Device\NPF_{8D5BB2FE-D169-4D82-B250-7683EAA3982F} (Realtek RTL8139 Family Fast Ethernet Adapter (Microsoft's Packet Scheduler) )
3.\Device\NPF_{5801CA50-D431-4494-A3D6-27B22F7523E7} (VMware Virtual Ethernet Adapter)
监听端口
C:\>windump -i 2 -w cap icmp and ether dst host 00:14:78:ba:17:e8
windump: listening on \Device\NPF_{8D5BB2FE-D169-4D82-B250-7683EAA3982F}
8 packets captured
99 packets received by filter
0 packets dropped by kernel
注:-w cap 表是当监听到数据保存为文件cap
//要抓数据为访问网关的ICMP包
C:\>arp -a
Interface: 192.168.1.100 --- 0x3
Internet Address Physical Address Type
192.168.1.1 00-14-78-ba-17-e8 dynamic
//测试
C:\>ping 192.168.1.1
Pinging 192.168.1.1 with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
Reply from 192.168.1.1: bytes=32 time<1ms TTL=64
显示抓取数据文件(两种格式显示)
C:\>windump -r cap
reading from file cap, link-type EN10MB (Ethernet)
01:21:42.218562 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16128, length 40
01:21:43.218977 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16384, length 40
01:21:44.219917 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16640, length 40
01:21:45.220886 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16896, length 40
01:21:46.815623 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17152, length 40
01:21:47.818539 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17408, length 40
01:21:48.824357 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17664, length 40
01:21:49.826508 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17920, length 40
第二次 十六进制
C:\>windump -r cap -x
reading from file cap, link-type EN10MB (Ethernet)
01:21:42.218562 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16128, length 40
0x0000: 4500 003c 962a 0000 8001 20e1 c0a8 0164
0x0010: c0a8 0101 0800 0b5c 0300 3f00 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869
01:21:43.218977 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16384, length 40
0x0000: 4500 003c 962e 0000 8001 20dd c0a8 0164
0x0010: c0a8 0101 0800 0a5c 0300 4000 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869
01:21:44.219917 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16640, length 40
0x0000: 4500 003c 9631 0000 8001 20da c0a8 0164
0x0010: c0a8 0101 0800 095c 0300 4100 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869
01:21:45.220886 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 16896, length 40
0x0000: 4500 003c 9634 0000 8001 20d7 c0a8 0164
0x0010: c0a8 0101 0800 085c 0300 4200 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869
01:21:46.815623 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17152, length 40
0x0000: 4500 003c 9637 0000 8001 20d4 c0a8 0164
0x0010: c0a8 0101 0800 075c 0300 4300 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869
01:21:47.818539 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17408, length 40
0x0000: 4500 003c 963b 0000 8001 20d0 c0a8 0164
0x0010: c0a8 0101 0800 065c 0300 4400 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869
01:21:48.824357 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17664, length 40
0x0000: 4500 003c 9641 0000 8001 20ca c0a8 0164
0x0010: c0a8 0101 0800 055c 0300 4500 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869
01:21:49.826508 IP szguoyihong2.domain > 192.168.1.1: ICMP echo request, id 768, seq 17920, length 40
0x0000: 4500 003c 9646 0000 8001 20c5 c0a8 0164
0x0010: c0a8 0101 0800 045c 0300 4600 6162 6364
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374
0x0030: 7576 7761 6263 6465 6667 6869windump常用命令
1、windump –D 列出本机可供抓包的全部接口。
这个命令在本机有多个网卡时非常有用。比如,我的机器装有3块网卡,而我只抓第二块网卡上的包,那么我用windump –D列出机器上所有的网卡,再指定只抓第二块网卡的包,方法如下:
windump –D
windump –i 2(网卡序号)
2、windump –n 不解析主机名,直接显示抓包的主机IP地址。
3、windump –n host 192.168.1.2 只抓关于192.168.1.2主机的包(不管包的方向)。
4、windump –n host 192.168.1.2 and udp port 514 只抓关于主机192.168.1.2上udp协议端口为514的包。
同理,我也可以抓所有tcp协议23端口的包,命令如下:
windump –n host 192.168.1.2 and tcp port 23
或者,我只抓udp 514端口的包,不管ip是多少,命令如下:
windump –n udp port 514
5、windump –n net 133.160 抓133.160网段的包,不管包的方向。
同理,我也可以抓所有133.160网段的且tcp端口为3389的包,命令如下:
windump –n net 133.160 and tcp port 3389
6、windump –n host ! 133.191.1.1 抓所有非133.191.1.1有关的包。
同理,我要抓除了133.191.1.1之外的所有机器的tcp端口为3389的包,命令如下:
windump –n host ! 133.191.1.1 and tcp port 3389
7、windump –n dst host 133.191.1.1 抓所有发送到133.191.1.1的包。
同理,可以用and 或or参数,如:
windump –n dst host 133.191.1.1 ort src host 101.1.1.1