本文只是总结了两个常用的网络命令的实现原理和一点使用经验说明。这些东西通常都分布在各种书籍或者文章中的,我勤快那么一点点,总结一下,再加上我的一点理解和使用经验,方便大家了解。这些也是很基础的东西,没什么高深的。
Ping
这个应该大家都会用的吧,最主要的就是检测目标主机是不是可连通。Ping程序实际就是发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答。然后打印出回显的报文。Ping不通一个地址,并不一定表示这个IP不存在或者没有连接在网络上,因为对方主机可能做了限制,比如安装了防火墙,因此Ping不通并不表示不能使用FTP或者TELNET连接。
PING得到的结果包括字节数、反应时间、以及生存时间。Ping程序通过在ICMP报文数据中存放发送请求的时间来计算返回时间。当应答返回时,根据现在时间减去报文中存放的发送时间就得到反应时间了。生存时间(TTL),本来就存放在IP数据报的头部,直接就能够获取。
金素恩整容上次和Dancefire说天网防火墙的时候,现在不是天网能识别哪些程序在进行网络连接么,结果试验用Ping的时候,天网就不知道了,呵呵,反正是没有警告。那ICMP木马天网能防么?
Tracert
一个探测路由的程序,可以让我们看见IP数据报到达目的地经过的路由。
Tracert利用ICMP数据报和IP数据报头部中的TTL值。TTL(Time To Live)是一个IP数据报的生存时间,当每个IP数据报经过路由器的时候都回把TTL值减去1或者减去在路由器中停留的时间,但是大多数数据报在路由器中停留的时间都小于1秒种,因此实际上就是在TTL值减去了1。这样,TTL值就相当于一个路由器的计数器。
当路由器接收到一个TTL为0或者1的IP数据报的时候,路由器就不再转发这个数据了,而直接丢弃,并且发送一个ICMP“超时”信息给源主机。Tracert程序的关键就是这个回显的ICMP报文的IP报头的信源地址就是这个路由器的IP地址。同时,如果到达了目的主机,我们并不能知道,于是,Tracert还同时发送一个UDP信息给目的主机,并且选择一个很大的
值作为UDP的端口,使主机的任何一个应用程序都不使用这个端口。所以,当达到目的主机的时候,UDP模块就产生一个“端口不可到达”的错误,这样就能判断是否是到达目的地了。
有说法是利用ping得到的TTL值来判断主机类型,这种办法可以大概地用来判断,有人问为什么一般得到的都不是标准的TTL值。这个就是因为ICMP数据包走的路由器线路的原因,所以,用ping 和 tracert 一起来用更容易判断主机类型(不过并不一定两次走的路线都一样,所以,还是个大概值,不过更接近点,而且主机的默认TTL值是可以改变的)。
张馨予徐子珊C:\〉ping 211.99.199.204
Pinging 211.99.199.204 with 32 bytes of data:
Reply from 211.99.199.204: bytes=32 time=20ms TTL=248
Reply from 211.99.199.204: bytes=32 time〈10ms TTL=248
Reply from 211.99.199.204: bytes=32 time=10ms TTL=248
Reply from 211.99.199.204: bytes=32 time=10ms TTL=248
Ping statistics for 211.99.199.204:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 20ms, Average = 10ms
C:\〉tracert 211.99.199.204
Tracing route to 211.99.199.204 over a maximum of 30 hops
1 10 ms 10 ms 20 ms 211.99.57.121
2 10 ms 10 ms 10 ms 202.96.13.1
3 〈10 ms 10 ms 20 ms 202.96.13.62
4 20 ms 10 ms 10 ms 210.77.139.186
5 〈10 ms 10 ms 20 ms 210.77.139.170
6 〈10 ms 〈10 ms 10 ms 211.99.193.154
7 〈10 ms 10 ms 〈10 ms 211.99.199.204
Trace complete.
C:\〉
Ping得到的TTL=248,经过了7个路由器,减少了7,所以主机的TTL值是255。这样来判断吧。
下面是一些主机的默认TTL值。
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
天净沙秋的意思HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT傅莹简历
Windows 2000
ICMP 回显应答的 TTL 字段值为 128
=======================================================================================
ping用法标签:杂谈 分类:电脑
1:ping入门
入门篇
微软的命令提示符提供了一个很好的入侵平台,打开的方法是单击开始-运行然后输入cmd进命令提示符,下面我们来看看一些经典的命令。
(1)ping命令:ping命令是用来检查网络是否通畅以及网络连接速度的命令,对于黑客来说ping命令是第一个必须掌握的DOS命令,用Ping命令就是我们给目标IP地址发一个数据包,再根据返回值来判断目标主机的存在位置及操作系统等。
下面我们来看看它的常用操作。在命令提示框中输入ping,回车。ping 的命令格式如下
C:\Documents and settings\Administrator\ping
Usage: 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 表示不间断的向目标IP发送数据包,直到我们按ctrl+c强迫其停止为止。如果你使用的是100M的宽带,而目标IP只是56K的小猫(调制解调器)那要不了多久目标IP就会因为接受不了这么多的数据而掉线,一次攻击就这么实现了。(不过现在已经米有什么人用56K的小猫了)
-l 定义发送数据包的大小,默认为32字节,最大为65500字节,再结合上面的-t一起使用,有更好的效果。例如 ping 125.213.73.120 -l 65500 -t
(注:125.213.73.120为目标IP地址,65500为字节大小,可自行改动.)由于目标IP(125.213.73.120)有防火墙,所以我们ping 不进去显示Request timed out 我们可以按Ctrl+C让其停止。
-
n 定义向目标IP发送数据包的次数,默认为3次。如果-n和-t 一起使用,则以放在后面的为准。
我们可以根据TTL(生存时间)返回值来判断其操作系统。
典型的例子 C:\>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
熊梓淇Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in m
illi-seconds: Minimum = 0ms,
Maximum = 0ms, Average = 0ms
注意TTL
TTL:生存时间
指定数据报被路由器丢弃之前允许通过的网段数量。
TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。
使用PING时涉及到的 ICMP 报文类型
一个为ICMP请求回显(ICMP Echo Request)
一个为ICMP回显应答(ICMP Echo Reply)
TTL 字段值可以帮助我们识别操作系统类型。
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
当然,返回的TTL值是相同的
但有些情况下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
发布评论