当前位置:   article > 正文

15、Linux:IP及端口检查命令_linux ping ip和端口

linux ping ip和端口

本机IP:10.129.49.102,连接测试主机:10.129.49.104

一、查询IP

1、查询当前服务器的 IP 信息

  1. ifconfig
  2. ---或使用:
  3. ip addr

请注意,ifconfig 命令用于查询时,主要查询 IP 地址,子网掩码和MAC地址等三类信息。当然,ifconfig 命令还可用于临时修改 IP 信息,只不过服务器一旦重启,配置则会失效。

临时配置 IP 地址,格式如下:

ifconfig 网卡名称 IP地址

临时配置IP地址,广播地址,子网掩码等信息,格式如下:

ifconfig 网卡名称 192.168.xx.xx broadcast 192.168.1.255 netmask 255.255.255.0

2、查询出口 IP 地址

curl cip.cc

出口 IP 也称外网 IP(公网 IP),它是路由器连接其他网络端口的 IP,如果自己在内网要发送信息到外部并被识别,需要配置公网 IP 地址。

二、查看端口号

1、lsof 命令

lsof(list open files)是一个列出当前系统打开文件的工具,该命令可进行系统监控、网络信息查看等,但需要 root 用户权限求执行。

用于端口号情况查看的常用命令,有:

  1. # 【按端口查】查询指定端口号情况
  2. lsof -i :端口号
  3. # 【按用户查】查询该用户下的端口情况
  4. lsof -a -u 用户名 -i
  5. # 【按协议类型查】查询IPv4协议有关的端口情况
  6. lsof -i 4
  7. # 【按tcp查】查看所有tcp端口情况
  8. lsof -i tcp
  9. # 【按tcp查】查看tcp端口9001情况
  10. lsof -i tcp:9001
  11. # 【按udp查】查看所有udp端口情况
  12. lsof -i udp
  13. # 【按udp查】查看udp端口121情况
  14. lsof -i udp:121

2、netstat 命令

netstat 命令用于显示网络状态,Linux 服务器默认都装有这个命令。用于端口号情况查看的常用命令,有:

  1. # 查看所有端口情况
  2. netstat -tunplp
  3. # 查看22端口情况
  4. netstat -anp | grep ":22"
  5. netstat -tunplp | grep 22
  6. # 或
  7. netstat -tunplp | grep ":22"
  8. netstat -tunplp | grep 22

三、连通性检测命令

1、ping 命令

ping [选项] IP地址或主机名

检测主机 IP 连通性,示例如下:

  1. [wxx@localhost ~]$ ping 10.129.49.102
  2. PING 10.129.49.102 (10.129.49.102) 56(84) bytes of data.
  3. 64 bytes from 10.129.49.102: icmp_seq=1 ttl=64 time=0.042 ms
  4. 64 bytes from 10.129.49.102: icmp_seq=2 ttl=64 time=0.053 ms
  5. 64 bytes from 10.129.49.102: icmp_seq=3 ttl=64 time=0.063 ms

请注意,ping 命令只能检测主机 IP 的连通性,不适用检测端口。

ping 命令可以加些选项参数,以满足不同的检测需求,比如 [-c 数据包接收次数] ;[-s 设置发送包大小];[-i 设置发送周期] 等。

2、telnet 命令

telnet 协议是 TCP/IP 协议家族中的一员,是互联网远程登陆服务的主要方式和标准协议。它为用户提供了在本地计算机上完成远程主机工作的能力,在终端使用者的电脑上使用 telnet 程序,用它连接到服务器。

通过 telnet 命令,可测试IP及端口的连通性,常用到的命令格式,如下:

  1. telnet 域名 port
  2. telnet ip port

如果刚开始使用 telnet 命令,会出现 "-bash: telnet: command not found" 错误提示,原因是没有安装 telnet 软件包。

接着,就去安装它。需要注意的是 telnet 是挂在xinetd下的,需要确认是否安装了xinetd服务,检查和安装步骤如下:

  1. # 检查 telnet 和 xinetd
  2. rpm -qa | grep telnet
  3. rpm -qa | grep xinetd
  4. # 二者都没安装的话,通过yum安装
  5. yum install xinetd telnet telnet-server -y

这里,遇到了以下错误:

  1. Error downloading packages:
  2. 1:telnet-server-0.17-66.el7.x86_64: [Errno 256] No more mirrors to try.
  3. 1:telnet-0.17-66.el7.x86_64: [Errno 256] No more mirrors to try.
  4. 2:xinetd-2.3.15-14.el7.x86_64: [Errno 256] No more mirrors to try.

更换下镜像源即可。后续关于如何配置、激活以及避免防火墙阻止 telnet 服务的,这里不再描述。

测试示例:

  1. telnet 10.129.49.104 9200
  2. Trying 10.129.49.104...
  3. Connected to 10.129.49.104.
  4. Escape character is '^]'.

最后一行是提示语,使用 ctrl + ] 可进入 telnet 交互命令行。

请注意,telnet 命令用于登录和管理远程主机,适用于局域网网络设备的远程连接,但它采用的是明文传送报文,缺乏安全性。因此,实际中很多 Linux 服务器都不开放 telnet 服务,而改用更安全的 ssh 方式。

3、ssh 命令

相对于 telnet 服务,ssh 是加密连接的,更适用于服务器远程连接和管理。

用来测试 IP 及端口的连通性,命令格式如下:

  1. ssh [选项] 端口号 用户名@ip地址
  2. # 或者
  3. ssh [选项] 端口号 ip地址

可选项中,常用的参数有-v,-p,其中,-v表示调试打印日志,-p表示指定端口号。

使用 ssh 测试下目标主机的连通性,如下:

  1. ssh -v -p 9200 10.129.49.104
  2. OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
  3. debug1: Reading configuration data /etc/ssh/ssh_config
  4. debug1: /etc/ssh/ssh_config line 58: Applying options for *
  5. debug1: Connecting to 10.129.49.104 [10.129.49.104] port 9200.
  6. debug1: Connection established.
  7. debug1: key_load_public: No such file or directory
  8. debug1: identity file /home/wxx/.ssh/id_rsa type -1
  9. debug1: key_load_public: No such file or directory
  10. debug1: identity file /home/wxx/.ssh/id_rsa-cert type -1
  11. debug1: key_load_public: No such file or directory
  12. debug1: identity file /home/wxx/.ssh/id_dsa type -1
  13. debug1: key_load_public: No such file or directory
  14. debug1: identity file /home/wxx/.ssh/id_dsa-cert type -1
  15. debug1: key_load_public: No such file or directory
  16. debug1: identity file /home/wxx/.ssh/id_ecdsa type -1
  17. debug1: key_load_public: No such file or directory
  18. debug1: identity file /home/wxx/.ssh/id_ecdsa-cert type -1
  19. debug1: key_load_public: No such file or directory
  20. debug1: identity file /home/wxx/.ssh/id_ed25519 type -1
  21. debug1: key_load_public: No such file or directory
  22. debug1: identity file /home/wxx/.ssh/id_ed25519-cert type -1
  23. debug1: Enabling compatibility mode for protocol 2.0
  24. debug1: Local version string SSH-2.0-OpenSSH_7.4
  25. debug1: ssh_exchange_identification: HTTP/1.0 400 Bad Request
  26. debug1: ssh_exchange_identification: content-type: application/json; charset=UTF-8
  27. debug1: ssh_exchange_identification: content-length: 203
  28. debug1: ssh_exchange_identification:
  29. ssh_exchange_identification: Connection closed by remote host

可看到,目标主机没有设置和开发 ssh 服务,连接被关闭,暂不可连接。

4、curl 命令

前面查询出口 IP 使用的就是 curl 命令。它是一个利用 URL 规则在命令行下工作的文件传输工具,支持包括 HTTP、HTTPS、FTP 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。

用来测试 IP 及端口的连通性,命令格式如下:

curl ip:port

如果测试的端口号不存在,显示信息如下:

  1. curl 10.129.49.104:9002
  2. curl: (56) Recv failure: Connection reset by peer

如果测试的 IP 和端口号都正常,显示信息如下:

  1. curl 10.129.49.104:9200
  2. {
  3. "name" : "node-1",
  4. "cluster_name" : "elasticsearch",
  5. "cluster_uuid" : "iHXx-eIsTTinhm5sY-S9_A",
  6. "version" : {
  7. "number" : "7.8.0",
  8. "build_flavor" : "default",
  9. "build_type" : "tar",
  10. "build_hash" : "757314695644ea9a1dc3tecd26d1a43856725e65",
  11. "build_date" : "2020-06-14T15:35:50.234039Z",
  12. "build_snapshot" : false,
  13. "lucene_version" : "8.5.1",
  14. "minimum_wire_compatibility_version" : "6.8.0",
  15. "minimum_index_compatibility_version" : "6.0.0-beta1"
  16. },
  17. "tagline" : "You Know, for Search"
  18. }

5、wget 命令

wget 是一个 GPL 许可证下的自由软件,支持 HTTP、FTP 等下载方式,支持代理服务器,支持断点续传等功能。wget 功能强大,非常好用,常用来下载文件,但也可以用来测试主机的连通。

测试主机连通性,命令格式如下:

wget ip:port

如果测试的IP或端口号不存在,会一直重试,显示如下:

  1. wget 10.129.49.194:9002
  2. --2023-02-27 16:05:38-- http://10.129.49.194:9002/
  3. Connecting to 10.129.49.194:9002... connected.
  4. HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
  5. Retrying.
  6. --2023-02-27 16:05:39-- (try: 2) http://10.129.49.194:9002/
  7. Connecting to 10.129.49.194:9002... connected.
  8. HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
  9. Retrying.

如果测试的 IP 和端口号都正常,显示信息如下:

  1. wget 10.129.49.104:9200
  2. --2023-02-27 16:09:27-- http://10.129.49.104:9200/
  3. Connecting to 10.129.49.104:9200... connected.
  4. HTTP request sent, awaiting response... 200 OK
  5. Length: 531 [application/json]
  6. Saving to: ‘index.html’
  7. 100%[=========================================================================>] 531 --.-K/s in 0s
  8. 2023-02-27 16:09:27 (74.7 MB/s) - ‘index.html’ saved [531/531]

以上检测IP及端口的连通性命令非常实用,特此总结和记录一下。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/409216
推荐阅读
相关标签
  

闽ICP备14008679号