原文链接:http://www.im286.com/viewthread.php?tid=382526&extra=page%3D3
当你打开浏览器,自由地游弋于浩如烟海的互联网世界之时,是否也沉迷于下载各种实用软件?其中也许有很大一部分就是网络工具吧!但请你不要忽视你的面前——windows(包括win98和nt)作系统中本来就带有不少的网络实用工具,虽然比较简单,却并不简陋。本着“简单就是美”的原则,下面就为你展现windows网络实用工具的丰采……
ping
ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断tcp/ip参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示tcp/ip配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信tcp/ip的正确性。
简单的说,ping就是一个测试程序,如果ping运行正确,你大体上就可以排除网络访问层、网卡、modem的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,ping也被某些别有用心的人作为ddos(拒绝服务攻击)的工具,前段时间yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量ping数据报而瘫痪的。
按照缺省设置,windows上运行的ping命令发送4个icmp(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,你应能得到4个回送应答。
ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。ping还能显示ttl(time to live存在时间)值,你可以通过ttl值推算一下数据包已经通过了多少个路由器:源地点ttl起始值(就是比返回ttl略大的一个2的乘方数)-返回时ttl值。例如,返回ttl值为119,那么可以推算数据报离开源地址的ttl起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回ttl值为246,ttl起始值就是256,源地点到目标地点要通过9个路由器网段。
通过ping检测网络故障的典型次序
正常情况下,当你使用ping命令来查找问题所在或检验网络运行情况时,你需要使用许多ping命令,如果所有都运行正确,你就可以相信基本的连通性和配置参数没有问题;如果某些ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:
ping 127.0.0.1——这个ping命令被送到本地计算机的ip软件,该命令永不退出该计算机。如果没有做到这一点,就表示tcp/ip的安装或运行存在某些最基本的问题。
ping 本机ip——这个命令被送到你计算机所配置的ip地址,你的计算机始终都应该对该ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的ip地址。
ping 局域网内其他ip——这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将ip地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
ping 网关ip——这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
ping 远程ip——如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问internet(但不排除isp的dns会有问题)。
ping localhost——localhost是个作系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/windows/host)中存在问题。
ping www.yahoo.com——对这个域名执行ping命令,你的计算机必须先将域名转换成ip地址,通常是通过dns服务器 如果这里出现故障,则表示dns服务器的ip地址配置不正确或dns服务器有故障(对于拨号上网用户,某些isp已经不需要设置dns服务器了)。顺便说一句:你也可以利用该命令实现域名对ip地址的转换功能。
如果上面所列出的所有ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。
ping命令的常用参数选项
ping ip -t——连续对ip地址执行ping命令,直到被用户以ctrl+c中断。
ping ip -l 2000——指定ping命令中的数据长度为2000字节,而不是缺省的32字节。
ping ip -n——执行特定次数的ping命令。
netstat
netstat用于显示与ip、tcp、udp和icmp协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
如果你的计算机有时候接受到的数据报会导致出错数据删除或故障,你不必感到奇怪,tcp/ip可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的ip数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。
netstat的一些常用选项:
netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如web浏览器)运行速度比较慢,或者不能显示web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
netstat -e——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。
netstat -r——本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。
netstat -a——本选项显示一个所有的有效连接信息列表,包括已建立的连接(established),也包括监听连接请求(listening)的那些连接。
netstat -n——显示所有已建立的有效连接。
netstat的妙用
经常上网的人一般都使用icq的,不知道你有没有被一些讨厌的人骚扰得不敢上线,想投诉却又不知从和下手?其实,你只要知道对方的ip,就可以向他所属的isp投诉了。但怎样才能通过icq知道对方的ip呢?如果对方在设置icq时选择了不显示ip地址,那你是无法在信息栏中看到的。其实,你只需要通过netstat就可以很方便的做到这一点:当他通过icq或其他的工具与你相连时(例如你给他发一条icq信息或他给你发一条信息),你立刻在dos prompt下输入netstat -n或netstat -a就可以看到对方上网时所用的ip或isp域名了。甚至连所用port都完全暴露了,如果你想给他一些教训,这些信息