本文是对常用的网络调试协议和指令的总结
ping
ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常;若远端主机断开网络连接,就不会有回应信息;
使用举例:
ping baidu.com
PING baidu.com (123.125.115.110): 56 data bytes
64 bytes from 123.125.115.110: icmp_seq=0 ttl=56 time=3.920 ms
64 bytes from 123.125.115.110: icmp_seq=1 ttl=56 time=5.308 ms
64 bytes from 123.125.115.110: icmp_seq=2 ttl=56 time=2.011 ms
64 bytes from 123.125.115.110: icmp_seq=3 ttl=56 time=2.439 ms
curl
判断自己的服务器S1是否可以访问其他的服务器S2的具体的服务;
步骤:
1.登录自己的服务器S1
2.curl -I S2(IP地址) :port/接口 #通过-I或者-head可以只打印出HTTP头部信息:
如果响应的code码是200,则证明S1是可以访问S2的;
kxb:~ kxb$ curl -I 192.168.1.102:8080/hello
HTTP/1.1 200
Content-Type: text/plain;charset=UTF-8
Content-Length: 18
Date: Sun, 08 Jul 2018 12:08:08 GMT
You have new mail in /var/mail/qfcomputer
如果S2的对应服务是没有开启的,则CURL不通,如:
kxb:~ kxb$ curl -I 192.168.1.102:8080/hello
curl: (7) Failed to connect to 192.168.1.102 port 8080: Connection refused
You have new mail in /var/mail/qfcomputer
telnet命令
Telnet是应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。
这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。
使用:telnet IP:Port
traceroute指令
traceroute 跟踪数据报的传输路径,获取两台计算机之间众多通路中的一条,可以定位传输路径中的所有路由器
工作原理:利用ICMP协议和TTL的值,开始TTL的值设置为1,经过第一个路由器时,TTL的值减去1为0,所以路由器不再转发数据报,直接抛弃,超时后请求机器会重新发送TTL为2的数据 包,找到第二个路由器。按照上面思路直到抵达目的地。
Netstat 命令
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
更多内容见:Netstat 命令详解