北尘 發表於 2025-8-24 00:00:00

Linux查看网络端口的命令大全

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>一. 使用前提</li><li>二. 命令详解<ul class="second_class_ul"><li>1. telnet</li><li>2. nc(netcat)</li><li>3. curl</li><li>4. nmap</li><li>5. ss</li><li>6. lsof</li><li>7. ping</li><li>8. traceroute</li><li>9. ip 和 iptables</li><li>10. test-netconnection(Windows/Linux 兼容)</li></ul></li><li>三. 总结<ul class="second_class_ul"></ul></li></ul></div><p>在 Linux 中,可以使用多种工具来检查网络端口。以下是详细的命令和用法:</p>
<p class="maodian"></p><h2>一. 使用前提</h2>
<table><thead><tr><th><strong>命令</strong></th><th><strong>端口必须被监听才能检测</strong></th><th><strong>端口未使用时是否能检测</strong></th></tr></thead><tbody><tr><td><code>telnet</code></td><td>是</td><td>否</td></tr><tr><td><code>nc</code></td><td>是(<code>-z</code>&nbsp;模式)</td><td>否(仅检测监听端口)</td></tr><tr><td><code>curl</code></td><td>是</td><td>否</td></tr><tr><td><code>nmap</code></td><td>否</td><td>是</td></tr><tr><td><code>ss</code></td><td>是</td><td>否</td></tr><tr><td><code>lsof</code></td><td>是</td><td>否</td></tr><tr><td><code>ping</code></td><td>否</td><td>是</td></tr><tr><td><code>traceroute</code></td><td>否</td><td>是</td></tr><tr><td><code>iptables</code></td><td>否</td><td>是</td></tr></tbody></table>
<p>如果需要检测未使用的端口,推荐使用 <strong><code>nmap</code></strong> 或检查防火墙配置(如 <strong><code>iptables</code></strong>)。</p>
<p class="maodian"></p><h2>二. 命令详解</h2>
<p class="maodian"></p><h3>1. telnet</h3>
<p><strong>用途:</strong> 用于检查远程主机指定端口是否可以建立<code>TCP</code>连接。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">telnet &lt;IP地址或主机名&gt;&lt;端口号&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">telnet 192.168.118.200 22
telnet 192.168.118.200 80</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F2443H.png" /></p>
<p><strong>输出解释:</strong></p>
<p>如果连接成功,会进入一个交互式终端,显示类似 <code>Connected to ...</code>。 如果失败,显示类似 <code>Connection refused</code> 或超时。</p>
<p><strong>注意:</strong></p>
<p>需要安装 <code>telnet</code> 工具(部分系统默认不安装)。 适用于 <code>TCP </code>协议。</p>
<p><strong>安装命令:</strong></p>
<div class="dxycode"><pre class="brush:bash;">sudo apt install telnet       # Debian/Ubuntu 系
sudo yum install telnet       # RHEL/CentOS 系</pre></div>
<p class="maodian"></p><h3>2. nc(netcat)</h3>
<p><strong>用途:</strong><code>nc</code> 是功能强大的网络工具,可以检查<code>TCP </code>和<code>UDP</code>端口的可达性。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">nc -zv &lt;IP地址或主机名&gt;&lt;端口号&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">nc -zv 192.168.118.200 22
nc -zv 192.168.118.200 80</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F2443Y.png" /></p>
<p><strong>输出解释:</strong></p>
<ul><li><code>Connection to...</code>&nbsp;表示端口可用。</li><li><code>Connection refused</code>&nbsp;表示端口不可用。</li></ul>
<p><strong>注意:</strong></p>
<ul><li><code>-z</code>&nbsp;表示扫描模式,<code>-v</code>&nbsp;表示显示详细信息。</li><li>支持&nbsp;<code>TCP&nbsp;</code>和&nbsp;<code>UDP</code>(加&nbsp;<code>-u</code>&nbsp;参数)。</li></ul>
<p class="maodian"></p><h3>3. curl</h3>
<p><strong>用途:</strong> 检查 <code>HTTP </code>或<code> HTTPS</code> 服务是否运行,适用于 80、443 等 Web 端口。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">curl -I &lt;URL&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">curl -I http://192.168.1.100</pre></div>
<p><strong>输出解释:</strong></p>
<p>返回 HTTP 响应头表示端口正常。 如果超时或无响应,端口可能不可用。</p>
<p class="maodian"></p><h3>4. nmap</h3>
<p><strong>用途:</strong><code>nmap</code> 是强大的网络扫描工具,可以扫描主机的开放端口。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">nmap -p &lt;端口号&gt;&lt;IP地址或主机名&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">nmap -p 22192.168.118.200
nmap -p 80192.168.118.200</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F245339.png" /></p>
<p><strong>输出解释:</strong></p>
<ul><li><code>open</code>&nbsp;表示端口开放。</li><li><code>closed</code>&nbsp;表示端口关闭。</li></ul>
<p><strong>扫描多个端口:</strong></p>
<div class="dxycode"><pre class="brush:bash;">nmap -p 20-22 192.168.118.200</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F246328.png" /></p>
<p><strong>注意:</strong></p>
<p>需要安装 <code>nmap</code> 工具:</p>
<div class="dxycode"><pre class="brush:bash;">sudo apt install nmap      # Debian/Ubuntu
sudo yum install nmap      # RHEL/CentOS</pre></div>
<p class="maodian"></p><h3>5. ss</h3>
<p><strong>用途:</strong><code>ss</code> 是现代<code>Linux</code>中的网络连接状态工具,可以检查本地端口是否在监听。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">ss -ltn</pre></div>
<p><strong>输出解释:</strong></p>
<ul><li><p><code>LISTEN</code>&nbsp;表示端口正在监听。</p></li><li><p>输出中包含本地地址和端口号,例如:</p></li></ul>
<div class="dxycode"><pre class="brush:bash;">LISTEN   0      128          *:22                     *:*
LISTEN   0      128       [::]:22                  [::]:*</pre></div>
<p>** 检查特定端口:**</p>
<div class="dxycode"><pre class="brush:bash;">ss -ltn |grep':22'
ss -ltn |grep':80'</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F246200.png" /></p>
<p class="maodian"></p><h3>6. lsof</h3>
<p><strong>用途:</strong> 列出当前系统中正在使用的端口。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">lsof -i:&lt;端口号&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">lsof -i:22
lsof -i:80</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F24K41.png" /></p>
<p><strong>输出解释:</strong></p>
<p>显示使用该端口的进程信息。 如果无输出,表示端口未被占用。</p>
<p><strong>列出所有监听的端口:</strong></p>
<div class="dxycode"><pre class="brush:bash;">lsof -i -P -n |grep LISTEN</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F24L91.png" /></p>
<p class="maodian"></p><h3>7. ping</h3>
<p><strong>用途:</strong> 用于检测目标主机是否可达,但不能直接检查端口。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">ping &lt;IP地址或主机名&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">ping 192.168.118.200</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F24I44.png" /></p>
<p><strong>输出解释:</strong></p>
<p>如果有响应,表示目标主机网络连通。 如果无响应,主机可能不可达或<code> ICMP</code> 被禁用。</p>
<p class="maodian"></p><h3>8. traceroute</h3>
<p><strong>用途:</strong> 跟踪数据包到达目标主机的路径,可用于分析端口是否被中间设备阻塞。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">traceroute&lt;IP地址或主机名&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">traceroute 192.168.118.201
traceroute -T -p 80 192.168.118.201</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F24J19.png" /></p>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F24Q20.png" /></p>
<p class="maodian"></p><h3>9. ip 和 iptables</h3>
<p><strong>用途:</strong> 查看本地防火墙是否阻止了端口。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">iptables -L -n |grep&lt;端口号&gt;</pre></div>
<p><strong>示例:</strong></p>
<div class="dxycode"><pre class="brush:bash;">iptables -L -n |grep80</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F24V16.png" /></p>
<p class="maodian"></p><h3>10. test-netconnection(Windows/Linux 兼容)</h3>
<p><strong>用途:</strong> 使用<code> PowerShell</code> 或跨平台工具进行网络测试。</p>
<p><strong>命令格式:</strong></p>
<div class="dxycode"><pre class="brush:bash;">test-netconnection -computername &lt;IP地址或主机名&gt; -port &lt;端口号&gt;</pre></div>
<p style="text-align:center"><img alt="" src="https://zhuji.jb51.net/uploads/allimg/20250822/2-250R21F24SY.png" /></p>
<p class="maodian"></p><h2>三. 总结</h2>
<table><thead><tr><th>工具</th><th>检查类型</th><th>特点</th></tr></thead><tbody><tr><td><code>telnet</code></td><td>TCP 连接</td><td>轻量级,简单直接</td></tr><tr><td><code>nc</code></td><td>TCP/UDP 连接</td><td>强大,支持端口范围扫描</td></tr><tr><td><code>curl</code></td><td>HTTP/HTTPS 服务</td><td>专注于 Web 服务测试</td></tr><tr><td><code>nmap</code></td><td>端口扫描</td><td>功能全面,适合网络分析</td></tr><tr><td><code>ss</code></td><td>本地监听端口</td><td>查看监听状态</td></tr><tr><td><code>lsof</code></td><td>本地使用端口</td><td>查看端口占用进程</td></tr><tr><td><code>ping</code></td><td>主机可达性</td><td>不针对端口</td></tr><tr><td><code>traceroute</code></td><td>路由跟踪</td><td>分析中间路由问题</td></tr><tr><td><code>iptables</code></td><td>防火墙规则</td><td>检查端口是否被阻止</td></tr></tbody></table>
<p><strong>使用时根据场景选择合适的工具。</strong></p>
<p>以上就是Linux查看网络端口命令大全的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁: [1]
查看完整版本: Linux查看网络端口的命令大全