当前位置:首页 » 《随便一记》 » 正文

15、Linux:IP及端口检查命令

18 人参与  2023年05月07日 11:53  分类 : 《随便一记》  评论

点击全文阅读


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

一、查询IP

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

ifconfig---或使用: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 用户权限求执行。

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

# 【按端口查】查询指定端口号情况lsof -i :端口号# 【按用户查】查询该用户下的端口情况lsof -a -u 用户名 -i# 【按协议类型查】查询IPv4协议有关的端口情况lsof -i 4# 【按tcp查】查看所有tcp端口情况lsof -i tcp# 【按tcp查】查看tcp端口9001情况lsof -i tcp:9001# 【按udp查】查看所有udp端口情况lsof -i udp# 【按udp查】查看udp端口121情况lsof -i udp:121

2、netstat 命令

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

# 查看所有端口情况netstat -tunplp# 查看22端口情况netstat -anp | grep ":22"netstat -tunplp | grep 22# 或netstat -tunplp | grep ":22"netstat -tunplp | grep 22

三、连通性检测命令

1、ping 命令

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

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

[wxx@localhost ~]$ ping 10.129.49.102PING 10.129.49.102 (10.129.49.102) 56(84) bytes of data.64 bytes from 10.129.49.102: icmp_seq=1 ttl=64 time=0.042 ms64 bytes from 10.129.49.102: icmp_seq=2 ttl=64 time=0.053 ms64 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及端口的连通性,常用到的命令格式,如下:

telnet 域名 porttelnet ip port

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

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

# 检查 telnet 和 xinetdrpm -qa | grep telnetrpm -qa | grep xinetd# 二者都没安装的话,通过yum安装yum install xinetd telnet telnet-server -y

这里,遇到了以下错误:

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

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

测试示例:

telnet 10.129.49.104 9200Trying 10.129.49.104...Connected to 10.129.49.104.Escape character is '^]'.

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

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

3、ssh 命令

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

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

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

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

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

ssh -v -p 9200 10.129.49.104OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017debug1: Reading configuration data /etc/ssh/ssh_configdebug1: /etc/ssh/ssh_config line 58: Applying options for *debug1: Connecting to 10.129.49.104 [10.129.49.104] port 9200.debug1: Connection established.debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_rsa type -1debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_rsa-cert type -1debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_dsa type -1debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_dsa-cert type -1debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_ecdsa type -1debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_ecdsa-cert type -1debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_ed25519 type -1debug1: key_load_public: No such file or directorydebug1: identity file /home/wxx/.ssh/id_ed25519-cert type -1debug1: Enabling compatibility mode for protocol 2.0debug1: Local version string SSH-2.0-OpenSSH_7.4debug1: ssh_exchange_identification: HTTP/1.0 400 Bad Requestdebug1: ssh_exchange_identification: content-type: application/json; charset=UTF-8debug1: ssh_exchange_identification: content-length: 203debug1: ssh_exchange_identification: ssh_exchange_identification: Connection closed by remote host

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

4、curl 命令

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

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

curl ip:port

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

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

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

curl 10.129.49.104:9200{  "name" : "node-1",  "cluster_name" : "elasticsearch",  "cluster_uuid" : "iHXx-eIsTTinhm5sY-S9_A",  "version" : {    "number" : "7.8.0",    "build_flavor" : "default",    "build_type" : "tar",    "build_hash" : "757314695644ea9a1dc3tecd26d1a43856725e65",    "build_date" : "2020-06-14T15:35:50.234039Z",    "build_snapshot" : false,    "lucene_version" : "8.5.1",    "minimum_wire_compatibility_version" : "6.8.0",    "minimum_index_compatibility_version" : "6.0.0-beta1"  },  "tagline" : "You Know, for Search"}

5、wget 命令

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

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

wget ip:port

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

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

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

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

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


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/61328.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1