现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

Wireshark抓取本地网络数据包

2013-06-01 23:19 工业·编程 ⁄ 共 786字 ⁄ 字号 暂无评论

有些时候,我们希望抓取自己的网络数据包以进行各种分析,那么怎么做呢?

首先,上网下载一个叫做“WireShark”的软件并安装上,记得要勾选安装“WinPcap”一项。

然后,打开这个软件(必须是管理员身份),单击左侧的“Capture Options”,然后在弹出的对话框的右上侧选择你要抓包的网卡,并取消左上侧的“Capture Packets in promiscuous mode”的勾选,再单击“start”即可开始抓包。

这个方法对任何网卡都适用,如果不取消那个promiscuous的勾选,则可能会抓到其他机子的数据包,这会干扰我们的工作,并且多数网卡并不支持那么做。

注意:开抓时必须保证你的网卡有有效网络地址(即连上Internet或路由)。

例子:

几个简单的过滤器例子:

“ip.dst==211.244.254.1” (所有目标地址是211.244.254.1的ip包)

“tcp.port==80″ (所有tcp端口是80的包)

你可以把上述表达式用 and 连接起来

“(ip.dst==211.244.254.1) and (tcp.port==80)”

或者再稍加变换

“(ip.dst==211.244.254.1) and !(tcp.port==80)” (所有目的ip是211.244.254.1非 80 端口)

使用表达式设置过滤器比之在界面上选择/填空更加快捷灵活,如果你不熟悉这些表达式,Wireshark 也提供了设置界面,并且最终生成表达式,这样也方便了使用者学习。

Wireshark 还提供了更高级的表达式特性,请看如下表达式

(tcp.port==80) and (ip.dst==211.244.254.1) and (http[5:2]==7075)

对象 http 就是 wireshark 解码以后的 http 数据部分 http[5:2] 就是指从 下标 5 开始的两个字节,请思考一下这样的http 请求

给我留言

留言无头像?