Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump。它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/入侵分析员做进一步流量分析和入侵检测。在这种监视状态下,任何两台电脑之间都没有秘密可言,所有的流量、所有的数据都逃不过你的眼睛(当然加密的数据不在讨论范畴之内,而且,对数据包分析的结果依赖于你的TCP/IP知识和经验,不同水平的人得出的结果可能会大相径庭)。
先下载安装WinPcap_4_1_3。再下载WinDump安装。不然会报错.
在命令行下启动windump.exe
参数列表:
-a 将网络地址解析为名字
-B size 设置网络数据接收缓冲区大小
-c count 只抓取count数目个包
-D 显示当前系统中所有可用的网卡
-e 输出链路层信息
-F file 从file文件中读取过滤的限制条件
-i interface 监视指定网卡
-n 不将网络地址解析为名字
-N 不打印全称域名信息
-q Print quick(less) packet infomation
-r file 从file文件中读取数据
-S Prints absolute TCP sequence numbers
s snaplen Captures snaplen bytes from the packet; the default value is 68
-t 不打印时间戳
-w file 将输出写入file文件
-X 用十六进制和ASCII码输出捕获的包
-x 用十六进制输出捕获的数据
使用示例如下:
C:/monitor>windump -s 200 -x -w testcap
此句表示捕获每个包的前200个字节,用十六进制输出,并将其写入testcap文件中
使用过滤器
查看网络上所有IP: windump ip
查看与指定ip交流的所有数据: windump ip host 192.168.1.6(指定ip)
查看所有从指定ip发到本机来的所有数据: windump ip src 192.168.1.6(指定ip)
捕获从指定网段发到本机的所有数据: windump ip host 192.168.1(指定ip网段)
主要参数有选项和表达式两类。下面说明几个必要的选项和表达式:
-i 指定要监听的网络接口,可以使用windump -D 列出当前系统中所有的网络设备接口,不指定的话是设备列表中找得的第一个。例如:
./WinDump.exe -D
1.\Device\NPF_GenericNdisWanAdapter (Generic NdisWan adapter)
2.\Device\NPF_{6AA36CF4-E4FD-49BF-93E5-DC29AB8A3AA5} (SiS NIC SISNIC (Microsoft' s Packet Scheduler) )
则
./WinDump.exe
./WinDump.exe -i 1
./WinDump.exe -i \\Device\\NPF_GenericNdisWanAdapter
都是监听第一个网络接口设备Generic NdisWan adapter。
./WinDump.exe -i 2
./WinDump.exe -i \\Device\\NPF_{6AA36CF4-E4FD-49BF-93E5-DC29AB8A3AA5 }
都是监听第二个网络接口设备SiS NIC SISNIC (Microsoft' s Packet Scheduler)。
如果不指定表达式,所有通过指定接口的packet都输出,否则只把表达式expression为真的输出。
最基本的表达式是这样的:
[proto] [dir] [type] [id]
proto 协议,可以是ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp , udp中任一个或它们的表达式组合,如果不指定,所有和后面的type一致的都考虑在内。
dir packet传输的方向,可以是src, dst中的任一个或它们的表达式组合。不指定的话,相当于src or dst 。
type 指定后面的id是网络地址、主机地址还是端口号,可以是host, net ,port中任一个,如果不指定,默认为host。
id 就是希望监听的网络或主机或端口地址。
一个覆盖所有元素的表达式如下:
ether src host 00:11:D8:6A:33:22
./WinDump.exe -i 2 ether src host 00:11:D8:6A:33:22
监听所有从本地网卡向外发的packet,其中00:11:D8:6A:33:22是本地网卡的mac地址。
./WinDump.exe -i 2 udp dst port 135
监听所有发给本地135 udp端口的packet。
更复杂的表达式是以上基本的表达式的逻辑组合,可用于组合的关键字有and, or, not,同时构成基本表达式的四类运算都是可选,不是必须的,比如:“host foo and not port ftp and not port ftp-data”,其中foo代表主机名,其他都是关键字。
此外,有gateway, broadcast , multicast , mask , protochain , proto , less , greater 四个关键字和一些算术表达式、逻辑符合等。
gateway foo 其中,foo是主机名,如果某个packet以foo为gateway,表达式为真,也就是该packet的ether源或目的地址是foo,而ip源和目的地址都不是foo。
broadcast,multicast 跟在ether或者ip、ip6后面表示某个packet是广播包、多播包,比如“ether broadcast”,“ip multicast”。
mask 和net一起说明网络地址,例如“net 192.168.0 mask 255.255.255.0”。
protochain 跟在ip、ip6后面说明更上层的协议字,比如“ip protochain 6”。
proto 跟在ether或者ip、ip6后面表示更上层的协议,跟在“ether proto”之后的可以是ip, ip6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, moprc, iso,跟在“ip proto”或“ip6 proto”之后的可以是icmp, icmp6, igmp, igrp, pim, ah, esp, udp, tcp,注意对于有些本身就是关键字的要加“\”转义,比如“ether proto \ip”。
其他表达式是这样的格式:
expr relop expr
其中,relop 可以是 >, <, >=, <=, =, !=, 中任一个,expr是由C语言规范描述的整数常量、二进制运算符(+, -, *, /, &, |)、len(取长度的关键字)、包数据构成,包数据这样访问:
proto [ offset : size ] proto是ether, fddi, tr, ip, arp, rarp, tcp, udp, icmp , ip6中任一个,表示要取的数据是该协议头范围内的,相对于PDU开始处的偏移由offset指定,size可选、说明要取数据的字节数,可以是1~4, 默认是1。例如,
“ether[0] & 1 != 0”匹配所有multicast数据包,因为01:00:5e:00:00:00到 01:00:5e:7f:ff:ff都是多播地址。
“ip[0] & 0xf != 5”匹配所有带选项的ip包,根据ip协议,“ip[0] & 0xf”取到的是IP协议头长度,而不带选项的ip协议头长度刚好是5。
“ip[6:2] & 0x1fff = 0”,“ip[6:2] & 0x1fff”取到该ip包的Fragment Offset,所以匹配所有不分段的ip包或所有分段ip包中的第一段。
其它操作法有!(相当于not )、&&(相当于and )、||(相当于or)。
使用举例:
./WinDump.exe -i 2 not arp and ether host not 02:01:00:00:00:00
抓取所有非arp协议、且源或目的主机的ether地址都不是02:01:00:00:00:00的packet。
windump.exe -i 2 -w cap ether host 00:11:D8:6A:33:22
抓取所有源或目的主机的ether地址是00:11:D8:6A:33:22(本地网卡的mac地址)的packet,但不知道屏幕上输出,而是把所有抓获的raw packet写入文件cap中。
windump.exe -r cap
读取刚才的输出文件cap,对抓获的所有packet进行解析输出。
经粗略分析,windump输出的raw packet文件格式如下:
文件头24个字节:“D4 C3 B2 A1 02 00 04 00 00 00 00 00 00 00 00 00 60 00 00 00 01 00 00 00 ”,具体含义不明确。
接下来是所有raw packet连续存放的数据,对于每个raw packet依次有:
8个字节的timestamp(时间戳)
ether frame header(7 bytes Preamble,1 byte SOF,6 bytes DA, 6 bytes SA,2bytes length/type)
ether frame payload(更上层协议PDU)
windump.exe -r cap 只是在屏幕上依次输出每个packet对应的时间戳、ether frame payload 中PDU协议类型,再是与该协议相关的简单信息。
windump.exe -r cap -x 除了输出基本的信息之外,还把ether frame payload以十六进制输出。
windump是一个开源软件,可以进行各种协议的网络数据包探测,是一个不错的免费、开源Net Sniffer软件,当前最新版本是3.9.5,官方下载网址:http://www.winpcap.org/windump/install/。
详细的帮助文件官方网址是:http://www.winpcap.org/windump/docs/manual.htm
常用的参数:
-w write的缩写,写入文件,供后期分析。
-D 打印系统可用的网络接口列表。
-i[n] interface的缩写,选择要监测的网络接口。
host 指定要监测的主机,可以是域名或IP地址。
port 指定要监测的端口。
src/dst source/Destination的缩写,该参数配合host和port参数一起使用,指定要监测的主机或端口为源/终点的数据包。
-s size的缩写,指定抓取的每个数据包的大小,缺省是68,如果该值太小,可能会丢失数据。如果设置为0,则表示捕获整个包。
-t 不显示时间。
-tttt 以缺省ISO格式显示时间。
tcp, udp, icmp 指定使用的协议
使用范例:
监测某个网站的访问数据包,如mail.163.com:
1 运行命令行
例如:
windump -w pc.dump -s 0 host mawi.wide.ad.jp
windump -w pc.dump -s 0 src host mawi.wide.ad.jp
windump -w pc.dump -s 0 dst host mawi.wide.ad.jp
windump -i2(看自己的网卡,可以不需要) -w pc.dump -s 0 host mail.163.com
2 用浏览器访问mail.163.com的某个网页。
3 用Ultraedit或其他16进制编辑器打开pc.dump文件,你就可以看到你对网页操作的“Request->Response”数据包了。
如果你只对服务器返回的消息感兴趣,如下修改上面的命令:
windump -i2(看自己的网卡,可以不需要) -w pc.dump -s 0 src host mail.163.com
反之:
windump -i2(看自己的网卡,可以不需要) -w pc.dump -s 0 dst host mail.163.com
windump的确是个不可多得的优秀Sniffer软件,值得收藏使用。
相关推荐
### WINDUMP使用方法及其改进技术 #### 一、引言 随着网络技术的快速发展,高速网络环境(如100Mbps甚至1000Mbps)已成为常态。在此背景下,如何高效准确地捕获网络数据变得尤为重要。WINDUMP作为一种改进的基于...
下面我举几个常用例子介绍一下这个工具的使用方法。 1、windump –D 列出本机可供抓包的全部接口。 这个命令在本机有多个网卡时非常有用。比如,我的机器装有3块网卡,而我只抓第二块网卡上的包,那么我用windump ...
本文将深入探讨WinDump的使用方法、功能特性以及在实际应用中的重要性。 **1. WinDump的基本概念** WinDump主要利用libpcap库来捕获网络数据包,这些数据包包含了网络通信的所有信息。它能够以人类可读的格式显示...
WinDump V3.9.5 是一款在Windows操作系统上使用的网络数据包分析工具,它是开源软件tcpdump的Windows版本。这个工具对于网络管理员、开发者以及IT专业...通过熟练掌握其使用方法,用户可以更有效地管理和维护网络环境。
《WinDump中文使用手册》是一份详尽的网络封包分析工具指南,旨在帮助用户理解和掌握WinDump的使用方法。WinDump是Wireshark项目的命令行版本,它能够捕获网络上的数据包并进行深入分析,是网络故障排查、安全审计和...
对于新手用户,"使用方法百度"提示意味着可以通过搜索引擎获取详细的使用教程和指南。 在实际应用中,这些工具可以协同工作,帮助解决各种网络问题。例如,当遇到网络访问慢的问题时,可以先用tcping测试目标服务器...
学生需要了解 windump 的安装和使用方法,包括: * 找到 windump 官方网站 * 下载同一版本的 winpcap 和 windump * 先安装 windump 动态库 * 使用 windump 命令行程序 三、windump 文件格式 Windump 文件格式是 ...
1. 安装和使用 Windump 工具,包括下载和安装 Windump 官方版本和 Winpcap 驱动程序,了解 Windump 的使用方法和参数设置。 2. 了解 Windump 文件格式,包括文件头和数据部分的结构和含义。 3. 设计和实现一个网络...
QQ IP数据库收集了包括... 使用方法:解压数据库QQWry.Dat到显IP的QQ的安装目录,覆盖原来的同名文件。关闭QQ程序,重新启动。 QQ IP数据库在线升级数据库:随数据库附送的查询程序(Showip.exe)具有在线检测...
使用抓包软件(如windump、sniffer pro等)在局域网内抓ARP的reply包,以windump为例,使用windump -i 2 -n arp and host 192.168.0.1(192.168.0.1 是您的网关地址)抓下来的包我们只分析包含有reply字符的,格式...
· 讲解详细、透彻,对每个网络安全开发包的数据结构、输出函数以及使用方法都进行了详细阐述,特别对其使用方法进行了深入而细致的讨论。 · 针对每个网络安全开发包,提供了丰富的例程,每个程序短小精悍,都有...
- **移植过程**:讨论从UNIX到Windows环境的移植过程中遇到的问题及解决方法。 - **与C++的兼容性**:介绍libpcap如何与C++语言协同工作。 - **手册**:提供关于如何使用libpcap的手册指南。 - **统计模式**:说明...
调试脚本涉及VuGen的单次和多次回放、Controller的并发测试以及利用各种工具(如Winpcap、Ethereal、Tcpdump、Windump、SQL查询等)进行验证。试运行脚本是为了确保其无误,同时评估负载生成器的分布和压力强度的...
### 网络攻防实验指导书:网络嗅探技术...掌握了Sniffer Pro和URLSnooper的使用方法后,可以在网络安全监测、故障排查等多个场景中发挥重要作用。此外,通过对高级功能的学习,能够进一步提升在网络攻防领域的能力。