Chinaunix首页 | 论坛 | 博客
  • 博客访问: 609740
  • 博文数量: 765
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 18:49
文章分类

全部博文(765)

文章存档

2011年(1)

2008年(764)

我的朋友

分类:

2008-10-16 19:02:11

    编者按:TCP是网络重要内容,通过对TCP的深入分析,网络管理员可以解决很多网络故障问题,本文就是一个例子。

  TCP,全称Transfer Control Protocol,中文名为传输控制;它工作在OSI的传输层,提供面向连接的可靠传输服务。

  对TCP抓包 分析网络故障

  在TCP的报头中,有一个TCP标记字段,这个字段用来指出当前这个数据包的用途。TCP连接标记字段长6比特,共有6种不同的标记,在一个TCP连接中可能会使用其中的多个标记。这6种标记是:
  1. 紧急(Urgent,简称URG):通知对方主机该TCP数据包中包含有紧急数据;
  2. 确认(Acknowledgement,简称ACK):用来确认接收到对方主机的TCP数据包;
  3. 急迫(Push,简称PSH):通知对方主机立即将该数据包送往上层;
  4. 重置(Reset,简称RST):表示此TCP连接已被对方主机重新启动;
  5. 同步(Synchronization,简称SYN):用来建立和对方主机的TCP连接;
  6. 终止(Finish,简称FIN):用来关闭TCP连接。

  不同数据包中的TCP 标记可能相同,也可能不同,通过数据包的解码,可以知道当前数据包正在进行的操作及其作用。如TCP三次握手的第一步会将同步位置为1;第二步会同时将确认位和同步位置为1;第三步会将确认位置为1。根据TCP标记的特性,我们可以利用它分析网络中常见的网络应用故障。

  当遇到目标主机的某TCP服务不能访问时,我们可以通过对其访问的过程进行抓包分析,从而找出不能访问的原因,我们以elnet为例说明分析的方法。

  下面是在主机上使用Telnet命令访问其他主机的情况。从返回结果可知,两台主机的Telnet服务都不能正常访问。但从这里,我们无法确定不能访问的原因,是因为网络不通,还是这台主机没有提供Telnet服务。

 


    
    注意:
  1. 这里使用的Telnet命令是在假定目标使用默认的端口配置,即Telnet端口是TCP 23;

  2. 可能有些用户想到使用Ping命令测试网络的连通性,但由于承载Ping命令的ICMP协议可以导致一些非法攻击,对网络的会造成一定的威胁,使得某些ISP厂商或者网络管理员都在他们的三层设备处禁用了ICMP协议的转发。在这种情况下,使用Ping命令便无法准确测试主机的连通性。

[1]  

【责编:Zenghui】

--------------------next---------------------

阅读(288) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~