2007年7月23日星期一

用Windump来检查网络问题

家中的电脑忽然停止响应我从办公室发出的Wake On Lan(WOL)命令, 但是从家里LAN发出的WOL命令还是有效的, 于是想查查家里的电脑是不是收到了从WAN转到LAN的WOL包.
  1. 安装Windump:tcpdump for Windows (windump运行需要WinPcap 3.1 or newer支持)
  2. 在CMD里敲进'windump -D'后列出机器上安装的网络设备, 以后就可以用
    'WinDump –i 设备名'或
    'WinDump –i 设备号'来检查某一特定网络设备:这里是机器上的fast Ethernet Adapter,设备号是3
  3. 其他常用的一些windump命令行选项:
    • -n: 结果用数字显示IP地址和端口
    • -t:禁止在结果里显示包的timestamp
    • -B: 指定网卡驱动的缓存, 例如windump –B 5000将启用5MB的缓存(缺省1MB)
  4. WOL包用的是UDP协议端口9 (discard服务), 我家中的路由器是把WAN的端口9转到LAN里255.255.255.255的端口9.
    • 所以在家里电脑CMD敲入以下命令:
      windump -t -B 5000 -i 3 "udp and host 255.255.255.255"
      来监听网卡收到的发向255.255.255.255的UDP包
    • 然后从办公室里向家中路由器WAN IP发出WOL命令
    • 家里电脑windump显示的结果是:
      IP office.33422 > 255.255.255.255.9: UDP, length 102
      它说明家里的电脑收到了从WAN转到LAN的WOL包
  5. 后来发现办公室发出的WOL命令已经恢复正常工作了,猜想可能出问题时是办公室到家中路由器的网络出故障了

没有评论: