一些TCP/IP应用程序总结

ping程序

  1. 改程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答
  2. ping能测出这台主机的往返时间,以表明主机离的有多远
  3. ping不能到达,如今并不能代表不能telnet到某台主机。一台主机的可到达行不知取决于IP层是否能到达,还取决于使用何种协议与端口号
  4. 大多数TCP/IP实现都在内核中直接支持ping服务器,这种服务器不是一个用户进程
  5. 当返回ICMP回显应答时,要打印序列号和TTL,并计算往返时间
  6. 上面的例子往返时间为0,主要是由于计算机的计时精度未达到。一般情况下第一个往返时间长一些,因为硬件目的地址不在ARP告诉缓存中
  7. 通过往返时间验证SLIP传输速度

IP记录路由选项

  1. 每个处理数据报的路由器都把它的IP地址放入选型字段中,当数据到达目的端时,IP地址清单复制到ICMP回显应答中。
  2. 一个缺点是:大小只能最多9个IP地址
  3. 还可以记录时间戳

小结

  1. ping程序是对两个TCP/IP系统连通性进行测试的基本工具,只利用了ICMP回显请求和回显应答报文,而不用经过传输层(TCP/IP)
  2. 讨论了ping程序的记录路由选项

Traceroute程序

  1. 可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。相对于ping有优点:不需要所有的路由器支持记录路由选项,克服空间有限的问题
  2. 使用ICMP报文和IP首部的TTL字段,TTL字段为了防止数据报在选路时无休止在网络中运动
  3. 操作过程:首先发送一份TTL字段为1的IP数据报给目的主机。处理这份数据报的第一个路由器将TTL减1,丢弃该数据报,并发回一份超时ICMP报文,这样得到一个路由器地址。随后发送TTL=2的数据报,得到第二个地址。但是目的主机哪怕接收到T T L值为1的I P数据报,也不会丢弃该数据报并产生一份超时I C M P报文,这是因为数据报已经到达其最终目的地
  4. 如何判断是否已到达目的主机呢?因为traceroute程序发送一份UDP数据报给目的主机,但它选择一个不可能的值作为UDP端口。产生一份“端口不可到达”错误
  5. traceroute程序要区分接受到的ICMP报文是超时还是端口不可到达,以判断结束时间。

tcpdump程序

  1. tcpdump将网络接口卡设置为混杂模式来截获经过网络接口的每一个分组

BSD分组过滤器

  1. BSD分组过滤器BPF,tcpdump用它来截获和过滤来自一个被设置为混杂模式的网络接口分组
  2. BPF从驱动程序那里接受到每一个收到的分组和传输的分组。这些分组要通过一个用户指明的过滤器,使只有那些用户进程感兴趣的分组才会传递到用户进程
  3. 每个进程指明自己的过滤器
  4. 由于网络传输率很容易超过CPU的处理能力,并且一个用户进程从内核中只读小块数据的代价昂贵,因此BPF将多个帧装载进一个读缓存,缓存器满了再将读缓存保存的帧返回
  5. 在内核中过滤,而不是在进程中过滤
  6. 过滤表达式  : %tcpdump tcp port 25,只打印源端口和目的端口为25的报文段

SUNOS的网络接口分接头

  1. 与BPF不同的是,网络接口分头只截获网络接口收到的分组,而BPF可以接受网络接口和传送的分组

SOCK程序

  1. 生成TCP和UDP数据,既可以用作一个客户进程,也可以用作服务器进程
  2. 几个例子:  sun % sock bsdi echo 服务器主机的名字是bsdi 服务的名字是echo(回显)
  3. sock -s 140.252.13.33 5555 作为一个在端口5555监听的服务器,只接受140.252.13.33的地址
  4. sock -i -n12 -w4096 bsdi discard  把12个缓存,每个包含4096字节的数据,送给主机bsdi的discard服务器

IFCONFIG

  1. 用来显示和配置网络接口
  2. 在执行ifconfig 命令后,系统将在内核表中设置必要的参数,这样Linux 就知道如何与网络上的网卡通信
  3. ifconfig 直接显示当前系统的网络配置状况
  4. ifconfig eth0 192.168.0.1 netmask 255.255.255.0   在eth0上配置上192.168.0.1 的IP地址及24位掩码

netstat

  1. 提供系统上的接口信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值