其实这两个命令倒是没有多少的关系,归咎于笔者的无知,见惯了开发同学经常使用这两个命令,然 知其然不知其所以然,所以经常迷惑,这两个命令到底是如何使用,何方神圣!
一、ping 命令
ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常;若远端主机断开网络连接,就不会有回应信息;
ping无法检查系统端口是否开放。
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/接口
PS:通过-I或者-head可以只打印出HTTP头部信息:
看响应结果,如果响应的code码是200,则证明S1是可以访问S2的;
Qufangdemac:~ qfcomputer$ 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不通,如:
Qufangdemac:~ qfcomputer$ 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
如果响应的code码是403,S1是没有权限访问S2,解决方案如下
步骤:
1.登录服务器S2
2.vim /etc/nginx/nginx.conf #找到IPstart 模块,新增 allow S1
3.sudo /usr/sbin/nginx -s reload #重启nginx
PS:这个操作相当于在允许访问S2的白名单中加了S1
三、telnet命令
Telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:
1)Telnet定义一个网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;
2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项; .
3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。
telnet可以检查某个端口是否开放:telnet IP:Port
四、获取IP及内外网IP判断
whereis ifconfig #找到ifconfig所在的目录
目录下 ifconfig #对应目录下执行ifconfig 命令
10开头的即为内网地址,否则为 外网地址
IP地址
网友评论