用户福到我家 發表於 2025-6-10 00:00:00

Linux测试端口的连通性的四种方法小结

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>Linux测试端口的连通性的四种方法<ul class="second_class_ul"><li>方法一、telnet</li><li>方法二、curl</li><li>方法三、wget</li><li>方法四、ssh</li></ul></li><li>怎么查看linux是Ubuntu还是centos<ul class="second_class_ul"><li>一、查看系统信息文件</li><ul class="third_class_ul"><li>1. /etc/os-release 文件&zwnj;</li><li>2. 发行版特有文件&zwnj;</li></ul><li>二、使用系统命令</li><ul class="third_class_ul"><li>1. lsb_release -a 命令&zwnj;</li><li>2. hostnamectl 命令&zwnj;</li></ul><li>三、检查包管理器</li><ul class="third_class_ul"><li>1. 包管理器类型&zwnj;</li></ul><li>四、其他辅助方法</li><ul class="third_class_ul"><li>1. 查看 /etc/issue 文件&zwnj;</li><li>2. 检查内核信息(间接判断)&zwnj;</li></ul></ul></li></ul></div><p class="maodian"></p><h2>Linux测试端口的连通性的四种方法</h2>
<p class="maodian"></p><h3>方法一、telnet</h3>
<div class="dxycode"><pre class="brush:bash;">telnet ip port</pre></div>
<p><strong>说明:</strong></p>
<p>ip:是测试主机的ip地址</p>
<p>port:是端口,比如80</p>
<p style="text-align:center"><img alt="" height="200" src="https://zhuji.jb51.net/uploads/allimg/20250530/2-250530162541549.png" width="545" /></p>
<p>上图是使用telnet命令分别展示了端口不通和端口开放的结果。&nbsp;端口未开放提示连接被拒绝。</p>
<p class="maodian"></p><h3>方法二、curl</h3>
<div class="dxycode"><pre class="brush:bash;">curl ip:port</pre></div>
<p><strong>说明:</strong></p>
<p>ip:是测试主机的ip地址</p>
<p>port:是端口,比如80</p>
<p style="text-align:center"><img alt="" height="121" src="https://zhuji.jb51.net/uploads/allimg/20250530/2-250530162541317.png" width="630" /></p>
<p>上图是使用curl命令分别展示了端口不通和端口开放的结果。&nbsp;&nbsp;端口未开放提示连接失败,开放的端口不提示信息。</p>
<p class="maodian"></p><h3>方法三、wget</h3>
<div class="dxycode"><pre class="brush:bash;">wget ip:port</pre></div>
<p><strong>说明:</strong></p>
<p>ip:是测试主机的ip地址</p>
<p>port:是端口,比如80</p>
<p style="text-align:center"><img alt="" height="195" src="https://zhuji.jb51.net/uploads/allimg/20250530/2-2505301625423J.png" width="506" /></p>
<p>上图是使用wget命令分别展示了端口不通和端口开放的结果。&nbsp;&nbsp;&nbsp;端口未开放提示连接被拒绝,开放端口提示400错误。</p>
<p class="maodian"></p><h3>方法四、ssh</h3>
<div class="dxycode"><pre class="brush:bash;">ssh -v -p port username@ip</pre></div>
<p><strong>说明:</strong></p>
<p>-v 调试模式(会打印日志)</p>
<p>-p 指定端口</p>
<p>username:远程主机的登录用户</p>
<p>ip:远程主机</p>
<p style="text-align:center"><img alt="" height="573" src="https://zhuji.jb51.net/uploads/allimg/20250530/2-250530162543548.png" width="630" /></p>
<p>上图是使用ssh命令分别展示了端口不通和端口开放的结果。&nbsp;&nbsp;&nbsp;&nbsp;端口未开放提示连接被拒绝,开放端口提示连接建立,但是在ssl认证环节失败,服务器关闭连接。</p>
<p class="maodian"></p><h2>怎么查看linux是Ubuntu还是centos</h2>
<p>要确定你的Linux系统是基于Ubuntu还是CentOS,可以通过几种不同的方法来进行判断。下面是一些常用的方法:</p>
<p>要快速判断 Linux 系统是 Ubuntu 还是 CentOS,可通过以下方法综合验证:</p>
<p class="maodian"></p><h3>一、查看系统信息文件</h3>
<p class="maodian"></p><h4>1. /etc/os-release 文件&zwnj;</h4>
<p>执行命令:</p>
<div class="dxycode"><pre class="brush:bash;">cat /etc/os-release</pre></div>
<p>若显示 ID=ubuntu,则为 &zwnj;Ubuntu&zwnj;;<br />若显示 ID=centos,则为 &zwnj;CentOS&zwnj;&zwnj;。</p>
<p class="maodian"></p><h4>2. 发行版特有文件&zwnj;</h4>
<p>CentOS&zwnj;:</p>
<div class="dxycode"><pre class="brush:bash;">cat /etc/centos-release# 或 /etc/redhat-release</pre></div>
<p>文件内容会明确标识为 CentOS&zwnj;。</p>
<p>Ubuntu&zwnj;:</p>
<div class="dxycode"><pre class="brush:bash;">cat /etc/lsb-release</pre></div>
<p>文件内容包含 DISTRIB_ID=Ubuntu&zwnj;。</p>
<p class="maodian"></p><h3>二、使用系统命令</h3>
<p class="maodian"></p><h4>1. lsb_release -a 命令&zwnj;</h4>
<p>执行命令:</p>
<div class="dxycode"><pre class="brush:bash;">lsb_release -a</pre></div>
<p>输出中的 Distributor ID 字段显示 Ubuntu 或 CentOS&zwnj;。</p>
<p>注&zwnj;:若未安装该命令,CentOS 需先运行 yum install redhat-lsb&zwnj;。</p>
<p class="maodian"></p><h4>2. hostnamectl 命令&zwnj;</h4>
<p>执行命令:</p>
<div class="dxycode"><pre class="brush:bash;">hostnamectl</pre></div>
<p>Operating System 字段直接显示系统类型(如 Ubuntu 或 CentOS)&zwnj;。</p>
<p class="maodian"></p><h3>三、检查包管理器</h3>
<p class="maodian"></p><h4>1. 包管理器类型&zwnj;</h4>
<p>Ubuntu&zwnj;:使用 apt 或 dpkg</p>
<div class="dxycode"><pre class="brush:bash;">apt --version</pre></div>
<p>CentOS&zwnj;:使用 yum 或 dnf</p>
<div class="dxycode"><pre class="brush:bash;">yum --version# 或 dnf --version</pre></div>
<p>根据命令是否存在可快速区分系统类型&zwnj;。</p>
<p class="maodian"></p><h3>四、其他辅助方法</h3>
<p class="maodian"></p><h4>1. 查看 /etc/issue 文件&zwnj;</h4>
<div class="dxycode"><pre class="brush:bash;">cat /etc/issue</pre></div>
<p>文件首行通常包含 Ubuntu 或 CentOS 标识&zwnj;。</p>
<p class="maodian"></p><h4>2. 检查内核信息(间接判断)&zwnj;</h4>
<div class="dxycode"><pre class="brush:bash;">uname -a</pre></div>
<p>CentOS 内核版本通常包含 el7、el8 等标识(如 3.10.0-1160.el7.x86_64)&zwnj;。</p>
<p>总结流程图</p>
<p>查看系统类型 &rarr; /etc/os-release &rarr; 直接显示ID &nbsp;</p>
<ul><li>&rarr; lsb_release -a &rarr; Distributor ID &nbsp;</li><li>&rarr; hostnamectl &rarr; Operating System &nbsp;</li><li>&rarr; 包管理器类型(apt/yum) &nbsp;</li><li>&rarr; 发行版特有文件(/etc/centos-release 等) &nbsp;</li></ul>
<p>优先推荐使用 &zwnj;/etc/os-release 文件&zwnj; 或 &zwnj;lsb_release -a&zwnj; 直接验证&zwnj;。</p>
<p><strong>1. 查看发行版信息</strong></p>
<p>使用<code>lsb_release</code>命令</p>
<ul><li><p>对于基于Debian(如Ubuntu)的系统,可以使用<code>lsb_release</code>命令来查看发行版信息:</p></li></ul>
<div class="dxycode"><pre class="brush:bash;">lsb_release -a</pre></div>
<ul><li><p>这个命令会显示类似<code>Distributor ID: Ubuntu</code>的信息,表明这是Ubuntu系统。</p></li><li><p>对于基于Red Hat(如CentOS)的系统,也可以使用<code>lsb_release</code>命令,但通常需要先安装<code>redhat-lsb</code>包:</p></li></ul>
<div class="dxycode"><pre class="brush:bash;">sudo yum install redhat-lsb # CentOS
sudo apt install lsb-release # Ubuntu
lsb_release -a</pre></div>
<ul><li><p>这会显示类似<code>Distributor ID: CentOS</code>的信息。</p></li></ul>
<p>使用<code>cat</code>命令查看<code>/etc/*release</code>文件</p>
<ul><li>几乎所有的Linux发行版都会在<code>/etc/</code>目录下有一个或多个以<code>release</code>命名的文件,例如<code>/etc/os-release</code>、<code>/etc/centos-release</code>、<code>/etc/lsb-release</code>等。通过查看这些文件的内容,可以快速确定你的系统类型。</li></ul>
<div class="dxycode"><pre class="brush:bash;">cat /etc/*release</pre></div>
<ul><li><ul><li><p>对于Ubuntu,输出中会包含如<code>DISTRIB_ID=Ubuntu</code>。</p></li><li><p>对于CentOS,输出中会包含如<code>CentOS release 6.10 (Final)</code>或通过查看<code>/etc/centos-release</code>文件内容直接显示版本信息。</p></li></ul></li></ul>
<p><strong>2. 使用<code>hostnamectl</code>命令</strong></p>
<ul><li>在较新的Linux系统中,包括基于systemd的Ubuntu版本和CentOS 7及以后版本,可以使用<code>hostnamectl</code>命令来查看系统信息:</li></ul>
<div class="dxycode"><pre class="brush:bash;">hostnamectl</pre></div>
<p>在输出中,会看到Operating System字段,这可以告诉你系统是基于什么发行版。</p>
<p><strong>3. 查找特定文件或包管理器信息</strong></p>
<p>某些特定的文件或包管理器命令也可以提供线索。例如,CentOS特有的包管理器是yum,而Ubuntu使用的是apt。</p>
<p>which yum # CentOS特有的命令</p>
<p>which apt # Ubuntu特有的命令</p>
<p>通过上述方法之一,你应该能够确定你的Linux系统是基于Ubuntu还是CentOS。</p>
<p>以上就是Linux测试端口的连通性的四种方法的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁: [1]
查看完整版本: Linux测试端口的连通性的四种方法小结