网络安全系列一:ping命令的使用

ping 命令是网络管理人员最常使用的命令,它用于诊断网络连接故障,主要是终端到路由器、路由器到DNS服务器之间的连接状态。当然它也是入侵者常用的网络命令,目的就是通过发送特定形式的ICMP包(简单网络管理协议)来请求主机的回应,进而获得主机的一些属性,它可以试探目标主机是否活动,查询目标主机的机器名,可以配合ARP命令查询目标主机MAC地址,甚至可以推断目标主机操作系统,还有就是可以进行DDoS攻击。

一、ping命令使用格式:

 

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] target_name

 

其主要参数说明:

 

-t: 一直ping下去,可使用Ctrl+C终止;

-a: ping的同时将IP地址转化为主机名

如ping -a 127.0.0.1

-n: count 设置echo的数据包数。默认值为4

-f:在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。

-i TTL 设置ICMP包的生存时间(即ICMP包能够传到监控的第几个节点)

一般情况下ping命令正常的返回值如下图。其中的数据含义为:每次发送32bytes的数据,返回时间为xxms,TTL值为55;包发送了4个,收到4个,损耗0。

TTL:(Time To Live ) 生存时间,不同的操作系统对ping的TTL返回值是不同的。UNIX类返回值为255,Win95为32,WinNT/2000/XP/2003为128,Compaq Tru64 5.0为64;例如我们使用ping cnblogs.com

这里的返回值为118是为什么呢?TTL代表ping的数据包能在网络上存在多少时间。当对主机进行ping操作时,本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,当数据包传送到一个路由器之后,TTL就自动减1,如果减到0还是没有传送到目的主机,那么就自动丢失,也就是出现“Request Time Out"的情况。从上图可以看到,cnblogs使用的是Win2003操作系统,并且我本机到cnblogs的服务器中间经过了128-118=10个路由器。同样情况ping baidu.com我这台机器返回的是55,那么可以断定baidu使用的是linux主机。

二、ping命令的应用

1、诊断网络连通情况

a、使用ipconfig/all检查本地网络是否设置正常,当然这里会返回关于本机大量的信息,如计算机名、MAC地址、子网掩码、网关、DNS服务器等:

b、ping 127.0.0.1,ping本机是为了检查本地的TCP/IP协议是否正常,但它仅是查看该协议是否正常,即使网卡禁用或者没有插网络也都会返回正常。

关于我这里TTL为什么是Linux的64,我想应该是Ghost版XP自身修改过的,见下图。

c、ping本机ip,检查本机ip是否正常。

d、ping路由器或者同一网段内其他主机。

上图结果说明:与192.168.1.1连接正常,192.168.1.159连接不通。

e、pingDNS服务器,也可以是其他外网地址,这样就检查本机与外网是否连接。

2、获得域名对应的IP地址:直接ping域名即可

posted @ 2010-11-26 20:30  walkingp  阅读(3114)  评论(0编辑  收藏  举报