博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2463|回复: 3

巧用Wireshark有效管理内网

[复制链接]
发表于 2008-4-22 14:55:11 | 显示全部楼层 |阅读模式
身为企业网络管理员必须能够在第一时间发现网络问题和安全隐患,普通的网络诊断方法已经不能够满足高级需求,通过ping法也只能够解决简单网络故障,特别是网络不稳定一会断一会通的情况是简单方法无法排查的。这时就需要专业的网络管理员使用专业的工具去解决,相信各位都听说过sniffer这个网络数据探测软件,通过他可以对网络的所有数据包进行分析,发现故障根源。而今天笔者则介绍另外一款网络嗅探器——Wireshark,他在各个方面的表现是其他sniffer类网络嗅探器无法比拟的。 

 小提示:Wireshark的前世今生
  说起Wireshark就不得不提Ethereal了,Ethereal和在Windows系统中常用的sniffer pro并称网络嗅探工具双雄,不过和sniffer pro不同的是Ethereal在Linux类系统中应用更为广泛。而本文介绍的Wireshark软件则是Ethereal的后续版本,他是在Ethereal被收购后推出的最新网络嗅探软件,在功能上比前身更加强大。
  一、安装Wireshark
  安装Wireshark的步骤比较简单,基本上和传统软件一样。不过需要特别注意的是Wireshark类网络嗅探软件都需要Winpcap的支持,因此还需要安装WinPcap3.1。
  启动Wireshark安装程序,该软件是英文界面的。一直点“NEXT”按钮直到组件选择设置窗口,这里需笔者建议各位将所有组件都选中,这样才能够更好的发挥Wireshark的强大网络监控功能(如图1)。


图1

  在选择附加参数时需要将File extensions文件扩展处的对勾选中,这样方便我们日后通过Wireshark打开这些网络嗅探文件(如图2)。

图2

  接下来Wireshark会提示自动安装Winpcap3.1,如果本机没有安装该程序的话,我们只需要选中该组件后点“Install”按钮即可(如图3)。

图3

  程序会相继复制Winpcap和Wireshark必须文件到本地硬盘。完成所有安装工作后关闭安装窗口即可。
 楼主| 发表于 2008-4-22 14:55:36 | 显示全部楼层
 二、使用Wireshark监测网络数据
  安装完毕后会在桌面出现Wireshark图标,我们直接运行他即可。初次启动需要设置Wireshark要监视的网卡,由于很多设备都会虚拟成网卡存在于系统中,包括蓝牙,虚拟网卡等等,因此在选择时一定要选中自己的真实网卡。  我们通过Wireshark主界面的“Capture(捕获)->Options(设置参数)”来选择网卡(如图4)。按照笔者所说从interface下拉菜单处找到自己机器的真实网卡,像笔者演示的那样,下拉菜单存在四个选项,从上到下依次为虚拟拨号,虚拟网卡,蓝牙适配器网络以及自身的物理网卡。设置完毕后如果没有其他特殊设置需求直接点“Start”按钮即可开始检测网络中的数据包(如图5)。

图4

图5
  由于没有设置任何过滤信息和规则,所以Wireshark会对网络中所有数据进行检测,从捕获窗口可以看到各个不同协议数据的数量和占据总数的百分比(如图6)。

图6

  点“Stop”按钮停止检测后我们就可以针对每个网络数据包进行分析了,Wireshark会把刚刚捕获的所有数据包罗列出来,如果数据内容没有加密的话也可以明文显示出来。
 楼主| 发表于 2008-4-22 14:55:56 | 显示全部楼层
三、Wireshark应用实例简介
  Wireshark的初级使用还是非常简单的,但是高级应用和技巧就需要我们在日常工作中去积累和运用了。下面笔者简单介绍三个小应用,希望可以达到抛砖引玉的目的。  (1)检测网中是否有MSN或QQ在使用
  有的时候我们企业不希望员工在上班时通过MSN或QQ聊天,并针对这些IM交流软件进行了封锁,但是封锁和突破总是对立的,很多员工会找到代理工具或者其他方法来突破限制。不过不管他采用何种方法都无法逃避Wireshark的火眼金睛。
  我们打开Wireshark并设置好监控网卡,之后扫描网络中的数据,收集一段时间后停止捕获来查看数据包,如果网络中有MSN或者QQ在使用,Wireshark会记录这些数据通话,在protocol协议处显示为ICQ的通讯就是OICQ,而显示为MSNMS的话则说明此数据包是MSN发送接收的,并且通过具体内容我们还可以看到MSN的通话对象的邮件地址(如图7)。

图7

  (2)按需捕获制订扫描规则
  可能有的读者会遇到捕获后发现的数据包过多,无法分析的问题。实际上Wireshark容许我们制订过滤规则,也就是说让Wireshark只捕获我们感兴趣的数据包。具体方法是在主界面选择“Capture(捕获)->Capture filter(捕获规则)”,然后根据系统自带的过滤规则或者自己研究他的规则语句来指定适合自己的捕获规则(如图8)。

图8

  这里假设我们只希望针对ARP数据包来检测,来查看网络中是否有ARP病毒的存在,首先需要我们设置ARP过滤规则,然后在捕获窗口中的Capture filter处选择制订的过滤规则ARP,最后点“Start”开始扫描。
  这样Wireshark将只针对ARP数据包进行捕获,其他数据包将不进行任何记录。具体捕获详细情况我们在捕获窗口中可以一目了然(如图9)。

图9

  (3)检测明文数据包
  正如前面所说Wireshark可以针对网络中的明文数据包内容进行分析,例如我们在使用telnet来管理路由交换设备时所有的传输数据都是基于明文的,这样通过Wireshark可以将telnet输入的指令分析出来。
  首先检测网络数据包,如果在检测过程中有人进行telnet操作,那么在数据包显示窗口中会看到对应的telnet协议,以及通讯双方的IP地址信息(如图10)。

图10

  直接查看捕获的每个telnet数据包中的DATA字段就可以看到明文字符了,这就是用户telnet时输入的信息(如图11)。

图11

  Wireshark是功能强大的网络数据捕获工具,他可以帮助我们分析网络数据流量,在第一时间发现蠕虫病毒,木马程序以及ARP欺骗等问题的根源。相信各位网络管理员一经使用就会爱上他而离不开他。
 楼主| 发表于 2008-4-22 15:03:00 | 显示全部楼层
使用Wireshark来检测一次HTTP连接过程
2007年12月20日 星期四 下午 10:15
作者:老王
Wireshark是一个类似tcpdump的嗅探软件,界面更人性化一些,今天我用它来检测一次HTTP连接过程。

安装好之后,先配置一下,选择Capture->Options,先设定你要嗅探的网络接口,在我的机器上是:

ADMtek AN983/AN985/ADM951X NDIS5 Driver (Microsoft's Packet Scheduler) : \Device\NPF_{154F772F-7D1B-403E-A84E-E80FD623D5FC}

然后在Capture Filter里输入tcp port http,说明只监听80端口的tcp请求。

设置好这些,你就可以点击Start开始检测了。

打开浏览器随便浏览一个网页,你就会得到类似下面的结果:



我浏览的是Google的页面。这里211.100.209.50是浏览器,66.249.89.147就是服务器。

下面具体解释一下这个HTTP连接过程:
--------------------------------------------------------------
浏览器向服务器发出连接请求。
服务器回应了浏览器的请求,并要求确认。
浏览器回应了服务器的确认,连接成功。
浏览器发出一个页面HTTP请求。
服务器确认。
服务器发送数据。
客户端确认。
服务器响应了一个200状态,表示成功。
客户端发出一个图片HTTP请求。
服务器响应了一个304HTTP头,告诉浏览器别打扰它,直接用缓存。
客户端又发出一个图片HTTP请求。
服务器还是响应了一个304HTTP头。
浏览器确认。
服务器准备关闭连接,并要求确认。
浏览器确认。
浏览器准备关闭连接,并要求确认。
服务器确认。
--------------------------------------------------------------

其中包含了我们常说的TCP三次握手的过程。

当“服务器回应了浏览器的请求,并要求确认”的时候,
如果浏览器没有正常的确认,服务器就会在SYN_RECV状态等下去,直到超时。
如果恶意程序伪造了大量类似的请求,那就是常说的SYN洪水攻击了。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-11-22 08:30 , Processed in 0.089296 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表