|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
黑客最常用的几个命令祥解 本人学习的需要,对常用的几个命令做了点收集,整理出来供大家一起学习参考
一 ping命令详解
系统内置的网络测试工具ping
1.Ping命令的语法格式
ping命令看似小小的一个工具,但它带有许多参数,要完全掌握它的使用方法还真不容易,要达到熟练使用则更是难下加难,但不管怎样我们还得来看看它的真面目,首先我们还是从最基本的命令格式入手吧!
ping命令的完整格式如下:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j -Host list] | [-k Host-list] [-w timeout] destination-list
从这个命令式中可以看出它的复杂程度,ping命令本身后面都是它的执行参数,现对其参数作一下详细讲解吧!
-t—— 有这个参数时,当你ping一个主机时系统就不停的运行ping这个命令,直到你按下Control-C。
-a——解析主机的NETBIOS主机名,如果你想知道你所ping的要机计算机名则要加上这个参数了,一般是在运用ping命令后的第一行就显示出来。
-n count——定义用来测试所发出的测试包的个数,缺省值为4。通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送20个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过执行带有这个参数的命令获知。
-l length——定义所发送缓冲区的数据包的大小,在默认的情况下windows的ping发送的数据包大小为32byt,也可以自己定义,但有一个限制,就是最大只能发送65500byt,超过这个数时,对方就很有可能因接收的数据包太大而死机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。
-f—— 在数据包中发送“不要分段”标志,一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
-i ttl—— 指定TTL值在对方的系统里停留的时间,此参数同样是帮助你检查网络运转情况的。
-v tos—— 将“服务类型”字段设置为 “tos” 指定的值。
-r count—— 在“记录路由”字段中记录传出和返回数据包的路由。一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由。
-s count——指定“count” 指定的跃点数的时间戳,此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
-j host-list ——利用“ computer-list” 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔IP 允许的最大数量为 9。
-k host-list ——利用 “computer-list” 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔IP 允许的最大数量为 9。
-w timeout——指定超时间隔,单位为毫秒。
destination-list ——是指要测试的主机名或IP地址
-t参数
-t—— 有这个参数时,当你ping一个主机时系统就不停的运行ping这个命令,直到你按下Control-C。
例如:
C:\WINDOWS>ping 192.168.1.188 -t
Pinging 192.168.1.188 with 32 bytes of data:
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Ping statistics for 192.168.1.188:
Packets: Sent = 8, Received = 8, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Control-C
-a参数
-a——解析主机的NETBIOS主机名,如果你想知道你所ping的要机计算机名则要加上这个参数了,一般是在运用ping命令后的第一行就显示出来。
例如:
C:\WINDOWS>ping -a 192.168.1.100
Pinging 000 [192.168.1.100] with 32 bytes of data:
Reply from 192.168.1.100: bytes=32 time<10ms TTL=128
Reply from 192.168.1.100: bytes=32 time<10ms TTL=128
Reply from 192.168.1.100: bytes=32 time<10ms TTL=128
Reply from 192.168.1.100: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.1.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
可以得知:
ip 为192.168.1.100的计算机,NETBIOS名为000
再如:
C:\WINDOWS>ping -a 192.168.0.23
Pinging 9.localdomain [192.168.0.23] with 32 bytes of data:
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.0.23:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
可以得知:
ip 为192.168.0.23的计算机,NETBIOS名为9
-n参数
-n count——定义用来测试所发出的测试包的个数,缺省值为4。通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送20个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过执行带有这个参数的命令获知。
例如:
C:\WINDOWS>ping -n 10 192.168.1.188
Pinging 192.168.1.188 with 32 bytes of data:
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Ping statistics for 192.168.1.188:
Packets: Sent = 10, Received = 10, Lost = 0 (0% loss)
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
向IP为192.168.1.188的计算机,发送10个数据包,发送10个,返回10个,没有丢包。
-l参数
-l length——定义所发送缓冲区的数据包的大小,在默认的情况下windows的ping发送的数据包大小为32byt,也可以自己定义,但有一个限制,就是最大只能发送65500byt,超过这个数时,对方就很有可能因接收的数据包太大而死机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。
例如:
C:\WINDOWS>ping -l 32768 -n 10 192.168.1.188
Pinging 192.168.1.188 with 32768 bytes of data:
Request timed out.
Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64
Ping statistics for 192.168.1.188:
Packets: Sent = 10, Received = 9, Lost = 1 (10% loss),
Approximate round trip times in milli-seconds:
Minimum = 9ms, Maximum = 12ms, Average = 9ms
向IP为192.168.1.188的计算机,发送大小为32768byt的数据包10个,发送10个,返回9个,丢失1个。返回数据包最短时间为9ms,最长时间为12ms。
2.Ping命令的应用
(1)、测试网络的通畅
我们知道可以用ping命令来测试一下网络是否通畅,这在局域网的维护中经常用到,方法很简单,只需要在DOS或Windows的开始菜单下的“运行”子项中用ping命令加上所要测试的目标计算机的IP地址或主机名即可(目标计算机要与你所运行ping命令的计算机在同一网络或通过电话线或其它专线方式已连接成一个网络),其它参数可全不加。如要测试台IP地址为196.168.0.23的工作站与服务器是否已连网成功,就可以在服务器上运行:ping -a 196.168.0.23 即可,如果工作站上TCP/IP协议工作正常,即会以DOS屏幕方式显示如下所示的信息:
C:\WINDOWS>ping -a 192.168.0.23
Pinging 9.localdomain [192.168.0.23] with 32 bytes of data:
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Reply from 192.168.0.23: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.0.23:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
从上面我们就可以看出目标计算机与服务器连接成功,TCP/IP协议工作正常,因为加了“-a”这个参数所以还可以知道IP为196.168.0.23的计算机的NetBIOS名为9。
下面我们来PING IP为192.168.0.1的计算机,如果网络未连成功则显示如下错误信息:
C:\WINDOWS>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
为什么不管网络是否连通在提示信息中都会有重复四次一样的信息呢(如上的“Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64”和“Request timed out”),那是因为一般系统默认每次用ping测试时是发送四个数据包,这些提示就是告诉你所发送的四个数据包的发送情况。
(2)、获取计算机的IP地址
利用ping这个工具我们可以获取对方计算机的IP地址,特别是在局域网中,我们经常是利用NT或WIN2K的DHCP动态IP地址服务自动为各工作站分配动态IP地址,这时当然我们要知道所要测试的计算机的NETBIOS名,也即我们通常在“网络邻居”中看到的“计算机名”。使用ping命令时我们只要用ping命令加上目标计算机名即可,如果网络连接正常,则会显示所ping的这台机的动态IP地址。其实我们完全可以在互联网使用,以获取对方的动态IP地址,这一点对于黑客来说是比较有用的,当然首先的一点就是你先要知道对方的计算机名。
例如:
C:\WINDOWS>ping http://www.dt.sx.cn/
Pinging http://www.dt.sx.cn/ [218.26.153.214] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 218.26.153.214:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
ping http://www.dt.sx.cn/,得到http://www.dt.sx.cn/的计算机,IP为218.26.153.214。
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现。
二 Netstat
netstat是DOS命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息.
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。
一般用netstat -na 来显示所有连接的端口并用数字表示.
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
该命令的一般格式为:
netstat [选项]
命令中各选项的含义如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
-A 显示任何关联的协议控制块的地址。主要用于调试
-a 显示所有套接字的状态。在一般情况下不显示与服务器进程相关联的套接字
-i 显示自动配置接口的状态。那些在系统初始引导后配置的接口状态不在输出之列
-m 打印网络存储器的使用情况
-n 打印实际地址,而不是对地址的解释或者显示主机,网络名之类的符号
-r 打印路由选择表
-f address -family对于给出名字的地址簇打印统计数字和控制块信息。到目前为止,唯一支持的地址簇是inet
-I interface 只打印给出名字的接口状态
-p protocol-name 只打印给出名字的协议的统计数字和协议控制块信息
-s 打印每个协议的统计数字
-t 在输出显示中用时间信息代替队列长度信息。
netstat命令的列标题
Name 接口的名字
Mtu 接口的最大传输单位
Net/Dest 接口所在的网络
Address 接口的IP地址
Ipkts 接收到的数据包数目
Ierrs 接收到时已损坏的数据包数目
Opkts 发送的数据包数目
Oeers 发送时已损坏的数据包数目
Collisions 由这个接口所记录的网络冲突数目
三 tracert命令
Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name
Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list (IPv4-only).
-w timeout Wait timeout milliseconds for each reply.
-R Trace round-trip path (IPv6-only).
-S srcaddr Source address to use (IPv6-only).
-4 Force using IPv4.
-6 Force using IPv6.
Tracert命令详解
该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
使用 tracert 跟踪网络连接
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。
Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。
在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1 |
|