8 Krypton

【专家问答】网络诊断风暴来了!你准备好了吗?

好消息,EMC中文论坛里新一期的“专家问答”活动又开启啦。本次带来的话题,就是大家很感兴趣的内容:网络诊断。

关于网络诊断,论坛中已经有不少经典的文章。比如【网络基本功系列】细说网络那些事儿一站式学习Wireshark中文教程Wireshark入门:第一次亲密接触;等等。这次,我们就针对大家所感兴趣的网络故障诊断这一话题,开放讨论,尽情地探讨关于网络的一切话题。

本期专家问答活动将由4月15日起至4月28日进行两周的时间。在此期间,欢迎大家持有任何主题相关的话题,来参与我们的互动。不论是问问题,或者是技术切磋,又或是顶贴支持,发表心得,我们都照单全收哦!同时,我们开放微博和微信官方账号上的通道,您可以同时在微博微信通道留言提问题哦~

以往所有已完成的“专家问答”活动可参考这个汇总

本期讨论主题:网络诊断风暴来了!你准备好了吗?

本期持续时间:2015年4月15日 – 4月28日为期两周。活动结束后,本贴将锁定,有相关的后续问题可开新贴提问。


本期我们邀请到了坛友们可能都熟悉的两位网络技术方面的专家。他们是:

林沛满_彩色.JPG.jpg


Peiman Lin

林沛满是一位有近十年存储经验的技术专家,擅长文件存储的性能分析、归档和备份。同时也专注于网络协议分析,比如CIFS/NFS/HTTP/TCP/UDP等等,是《Wireshark网络分析就这么简单》的作者。





jiawen.jpg

Jiawen Zhang


Jiawen Zhang 就职于EMC在线支持部门,负责Symmetrix产品及Linux/Unix主机系统相关的技术支持。加入EMC之前担任媒体网关设备驱动工程师,在网络报文处理,设备驱动方面有所见长。精通TCP/IP网络协议及报文处理过程,精通Wireshark网络抓包工具。



和专家交流,与同行畅谈。欢迎大家以回帖的方式就 网络诊断这个主题,来积极提问和踊跃发表自己的意见。期待您的参与!

标记 (3)
9 条回复9
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

两位专家好~

想问个问题,Wireshark作为免费开源抓包工具的代表,它的专家分析(Expert Analysis)系统可以帮助使用者分析到什么程度?我觉得,如果只是在单台设备上做抓包分析,Wireshark肯定足够应付。但如果需要对整个IT网络环境做嗅探的话,没有专家系统,那从海量的数据中发现问题线索,对一般IT管理员都是不小的挑战吧。Wireshark也适合这样的场景吗?谢谢~

0 项奖励
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

Roger 你好。

在单台设备上抓包分析,也是可以发现整个网络环境中的问题的,而不只是被抓包那台上的问题。我给你举两个例子:

1. 在GitHub被攻击的事件中,你即使只在用户的电脑上抓个包,也能发现很多信息。原理如下:

a. 用户访问百度-->百度响应的包路上被劫持--> 用户收到被劫持的包,所以开始攻击GitHub。

b. 被劫持的包是中途的设备发出的,而不是百度,所以我们可以预见它的TTL跟其它包不一样。通过TTL,我们可以计算出劫持设备离用户有多少跳,而根据这个跳数和tracert结果,又可以找到劫持设备的IP。

2. 在访问网页的时候,我们有时候会看到三次握手时收到的包的Identification和其它包的Identification不匹配,以此就可以推出该网站启用了防止syn-flood的防火墙。

0 项奖励
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

为了帮助大家理解,我把第二个例子的网络包贴上来。从下图可见,Web_Server回复了2号包和5号包,其中2号是三次握手,5号是传输过程的Ack。还可以看到2号包的Identification是0.

1.png

再看5号包,Identification变成49031了。这就说明了2号包和5号包虽然看上去是同一个Web_Server发出来的,但实际上并不是。同一台机器的Identification要么一直为0,要么加1递增,不会这样跳跃的。

2.png

通过这个小细节,我们就能获知客户端之外的网络设备的情况。实际上我们很多case都是这样做出来的,抓到的包只有一点点,但是要从中找到很大的信息量,有时候真有种福尔摩斯的感觉。

0 项奖励
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

很直观的案例啊,感谢~

0 项奖励
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

帖子的浏览量挺多,说明这应该是一个受众广泛的topic。Wireshark是一项很有用的技能,想要学习这一工具的,以及使用这一工具中碰到问题的同学,都可以来参与讨论~

分享一些总结的Wireshark诊断TCP常见问题的分析思路:

TCP连接问题:

  • 如果SYN报文收到回复RST,则检查拦截了port号的防火墙。
  • 三次SYN而没有任何回复,或者是由于应用程序没有响应,或者是由于防火墙拦截了特定端口上的请求。
  • 永远记住确认一下是否有NAT,端口转发,以及涉及TCPUDP端口的机制。这些机制可能会中断TCP正常操作。


TCP重传问题:

当你看到通信链路上发生重传,进行以下步骤:

  1. 定位问题——是一个特定IP地址,特定连接,特定应用,还是其他问题。
  2. 查看问题是否由于通信链路,丢包,慢速服务器还是PC。查看应用是否慢速。
  3. 如果不是由于上述原因,检查延时变化。


TCP重复ACK与乱序:

  • 如果重复ACK和重传数量较少(少于1个百分比),是可以接受的。
  • 如果重复ACK发生在无线网络环境,或是Internet之上的连接,延时或是延时的改变对于这类网络来说很常见,所以也没有什么可做的。
  • 如果发生在组织内的网络,则可能有问题。如果发生在LAN之上,检查严重的问题,例如缓存和CPU负载,慢速服务器,等等。如果发生在WAN之上,查看延时,负载以及线路不稳定。
0 项奖励
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

刚看到坛子里有位坛友发出相关问题,帮忙转到这里,合理分配资源

fan040908

您好,我有一个抓包,能帮忙看下为什么里面的arp包会那么多吗?以及里面有一些包都是黑色的,能帮忙看下原因么?

0 项奖励
Highlighted
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

ARP大多是由192.168.1.12发出来的,和你抓包的这台机器无关。想知道.12为什么会一直发,可以登上去抓个包再看看。

黑色的包有多种类型的,我随机看了一个出现概率较高的,是浏览器触发的“Web Proxy Auto-Discovery Protocol (WPAD)”。 如果对这个协议有兴趣可以看维基百科Web Proxy Autodiscovery Protocol - Wikipedia, the free encyclopedia。 不感兴趣的话忽视它也没问题。

0 项奖励
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

有网友刚刚在微博上问,说想研究微信之类的APP在网络上的行为特征,可是抓包的时候会抓到很多其他APP以及手机本身产生的包,要怎样才能过滤出想要的那些呢?

这个问题提得非常好,所以我转到论坛上来。我们是无法用已知的的条件过滤出某个APP的包的,比如没人告诉你QQ走的是8888的udp口,你怎么可能用这个条件来过滤呢?微博APP操作过程中会产生无数连接,要过滤就更难了。我一般是这样做的。

1. 在尽可能干净的设备上抓包。

2. 把其它app停掉甚至卸载掉。

3. 没有运行任何app的时候也抓些包,这样你就知道哪些包平时就一直存在的,而不是你的app打开时产生的。

4. 抓包时用ping隔离每个动作。

5. 抓到包后,用!过滤掉平时就一直存在的那些包。

0 项奖励
8 Krypton

Re: 【专家问答】网络诊断风暴来了!你准备好了吗?

后面的几个步骤很有启发性啊。

不过前面是微信手机app还是网页版微信?手机上抓包要怎么做呢?

0 项奖励