ping、telnet、tracert网络测试命令的简介与使用
ping: 用来测试网络IP地址是否可达和与目标主机IP的连通性
telnet:用来登陆或测试目标主机IP的端口,测试主机服务可用
tracert:检查网络连接是否可达以及分析网络什么地方发生了故障。路由跟踪程序,用于确定目标所经过的网络路径
一、使用Ping检测IP 网络
1、功能用途
当设备出现故障时,可以首先使用Ping测试网络连接是否正常工作。使用Ping检测IP网络的连通性。
Ping(Packet Internet Groper)主要用于检查网络连接及主机是否可达。源主机向目的主机发送ICMP(Internet Control Message Protocol)请求报文,目的主机向源主机发送ICMP回应报文。
用于测试网络连接量的程序,通常是用来检查网络是否通畅或者网络连接速度的命令,评估网络质量,ping域名还可以得出解析IP地址。
2、介绍
利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。这个测试命令可以帮助网络管理者测试到达目的主机的网络是否连接。
ping命令是最常见的用于检测网络设备可访问性的调试工具,它使用ICMP的echo信息来决定:远程设备是否可用。
远程设备通信的来回旅程(round-trip)的延迟(delay)。包(packet)的丢失情况。
ping命令每发送一个ICMP回显请求报文,顺序号就加1,顺序号从1开始,不同的系统发送回显请求的数量不同,默认情况发送5个回显请求报文。也可以通过命令行参数设置发送回显请求报文的个数,如果对端可达,则在对端会相应回应5个和请求端同样序号的ICMP回应报文。
3、注意事项
ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,ping是被防火墙禁用的(如果被禁用可以采取下面提到的telnet方式)。
ping命令是用来检测网络是否畅通的,而Telnet命令则用来远程登陆。 但Ping不通并不一定代表网络不通。ping是基于ICMP协议的命令,就是你发出去一个数据包,对方收到后返给你一个!就好比声纳。这个协议是可以禁止的!禁止后,如果你ping对方,对方收到后就不回馈给你,这样你就显示无法ping通,但实际你们还是连着的。
4、使用
windows操作系统,点击计算机屏幕左下角菜单“开始”→“运行”→“打开输入cmd”,点击“确定”或者按回车键
在出来的DOS界面里,输入ping测试端口命令,如下格式
ping ip地址/域名网址
测试ping qq.com –t平均延时在50ms以内为佳,如下截图
Request timed out
a.对方已关机
b.对方与自己不在同一网段内,通过路由也无法找到对方
c.对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)
怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
d.错误设置IP地址
Destination host Unreachable
对方与自己不在同一网段内,而自己又未设置默认的路由,或者网络上根本没有这个地址,比如上例中A机中不设定默认的路由,运行Ping 192.168.1.4就会出现“Destination host Unreachable”。
网线出了故障
这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
Bad IP address
这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。
Source quench received
这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。
Unknown host——不知名主机
这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
No answer——无响应
这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的 路由器没有工作;通信线路有故障;中心主机存在路由选择问题。
Ping 127.0.0.1:127.0.0.1是本地循环地址
如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。
no rout to host:网卡工作不正常
transmit failed,error code:10043网卡驱动不正常
unknown host name:DNS配置不正确
用户Ping
在路由器、交换机的用户模式下,也可以使用ping命令,它是一个简单的全局命令,用法同Windows下相同,只是返回代码不同。其形式是:
Router>ping 10.127.0.1
路由器缺省使用IP协议
操作可以参考网站
https://jingyan.baidu.com/article/7f41ececc3aa76593d095cb6.html
二、telnet目标主机IP的端口
1、功能用途
telnet 用于远程管理连接主机。同时也是测试目标机器的TCP端口是否开放。
2、介绍
telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。
3、注意事项
确认telnet操作命令服务正常。如果无法使用该命令,需要手动安装telnet服务。
传统telnet会话所传输的资料并未加密,帐号和密码等敏感资料,容易会被窃听,因此很多服务器都会封锁telnet服务,改用更安全的SSH。
如果主机有防火墙策略,可能会影响测试结果。
4、使用
telnet ip地址 port
ip地址 指定要连接的远程计算机的主机名或 IP 地址。
port 指定端口号或服务名。
windows操作系统,点击计算机屏幕左下角菜单“开始”→“运行”→“打开输入cmd”,点击“确定”或者按回车键
在出来的DOS界面里,输入ping测试端口命令,如下截图
如果返回的结果是无法打开,则表示到目标主机的22端口不通
Linux操作系统
确认远端服务器某个端口是否可用。比如查看远端服务器ssh服务的22号端口是否开放,如下结果,22端口正常开发。
1
2
3
4
5
$ telnet 10.1.1.1 22
Trying 10.1.1.1...
Connected to 10.1.1.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.0
操作可以参考网站
https://jingyan.baidu.com/article/7c6fb428d60c6e80642c90ee.html
三、tracert检测IP网络的路径信息
1、功能用途
tracert主要检查网络连接是否可达以及分析网络什么地方发生了故障。
2、介绍
tracert是路由跟踪程序,用于确定 IP 数据报访问目标所经过的路径。
通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议 (ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到
Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。在工作环境中有多条链路出口时,可以通过该命令查询数据是经过的哪一条链路出口。tracert一般用来检测故障的位置,我们可以使用用tracert IP命令确定数据包在网络上的停止位置,来判断在哪个环节上出了问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方,方便检测网络中存在的问题。
tracert命令用于测试数据包从发送主机到目的地所经过的网关。tracert发送数据报的
TTL值最大可以到30,每一次发送如果在指定的时间的内没有回应报文,在发送端就会显示超时,如果发送30跳的值后,仍然显示为超时,表明无法达到目标设备,测试失败。
如果用户希望减少设备端口IP地址的暴露,从而防御外界构造端口不可达报文攻击或者超时报文攻击来探测设备接口的IP地址时,可以在Loopback接口视图下指定ICMP端口不可达或超时报文的源IP地址。如果用户执行tracert命令检测远端地址,设备会采用LoopBack接口的地址作为报文源地址发送ICMP超时报文或者端口不可达报文。
3、注意事项
tracert为trace router的缩写。不同的系统命令方式都不相同。
tracert是Windows下常用的命令行工具(基于ICMP协议),UNIX下与之对应的是traceroute(基于UDP协议)。若想知道自己的计算机到www.123.org 经过了多少个路由器,可在命令行下输入tracert www.123.org进行探测,返回结果也许会与ping -R相同,但它是以另一种方式实现的。这种方式并没有像Record route options探测技术中使用IP协议包的Options字段,而是利用了IP协议包中的TTL字段
4、使用
tracert ip地址/域名网址
选项:
-d 不将地址解析成主机名。
-h maximum_hops 搜索目标的最大跃点数。
-j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。
-w timeout 等待每个回复的超时时间(以毫秒为单位)。
-R 跟踪往返行程路径(仅适用于 IPv6)。
-S srcaddr 要使用的源地址(仅适用于 IPv6)。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
windows操作系统,实例
C:UsersAdministrator>tracert www.baidu.com
通过最多 30 个跃点跟踪
到 www.a.shifen.com [61.135.169.121] 的路由:
1 2 ms 2 ms 2 ms 10.5.38.1]
2 1 ms 1 ms 2 ms 10.5.1.5
3 3 ms 3 ms 2 ms 110.185.170.129
4 3 ms 3 ms 4 ms 125.69.64.213
5 6 ms 5 ms 34 ms 171.208.203.81
6 60 ms 58 ms 61 ms 202.97.36.45
7 53 ms * 52 ms 202.97.57.66
8 * 59 ms * 219.158.44.129
9 * 49 ms * 219.158.3.1
10 54 ms 54 ms 54 ms 202.96.12.2
11 53 ms 51 ms 125 ms 124.65.57.194
12 * 58 ms 57 ms 123.125.248.46
13 * * * 请求超时。
14 * * * 请求超时。
15 54 ms 50 ms 51 ms 61.135.169.121
跟踪完成。
第一列:1..9,这标明在我使用的宽带(使用的是联通宽带)上,经过8个路由节点,可以到达百度的服务器;如果是电信可能有不同;其他的IP,也有可能不同;各位可以多去测试。
第二,三,四列:单位是ms,是表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值;这个值有一定的参考性,但不是唯一的,也不作为主要的参考;比如一个主机,200和300,这100ms,其实说明不了什么。
第四列:就是每个路由节点对应的IP,每个ip输入什么,各位通过http://tool.chinaz.com的ip详细查询去了解。
注:在第13个路由节点上,返回消息是超时,这表示这个路由节点和当前我们使用的宽带,是无法连通的。至于原因,就有很多种了,比如:特意在路上上做了过滤限制;比如确实是路由的问题等,具体问题具体分析;如果在测试的时候,大量的都是*和返回超时,那就说明这个IP,在各个路由节点都有问题。
我们看上面是一个正常的路由访问列表,下面是一个有故障的检测结果:
tracert ggzdsd.com
linux操作系统,实例如下截图
操作可以参考网站
https://jingyan.baidu.com/article/84b4f5655b7a4a60f6da32d5.html
四、windows其他常用的网络命令
netstat -a 查看所有活动连接,包括已建立或者正在建立的连接 netstat -n 所有已建立的活动连接
netstat -s 按照协议统计信息
netstat -v 查看正在进行的工作
netstat -p tcp查看tcp协议的使用情况
netstat典型用法就是查看端口和pid的互查: 根据进程pid查端口:netstat -nap | grep pid 根据端口port查进程: netstat -nap | grep port
ipconfig
查看计算机的ip地址、mac地址,以及其他网卡信息
arp -a
能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容
route print
windows系统route命令用于显示路由表中的当前项目
route –n
Linux系统的route命令用于显示和操作IP路由表