方法一. 常用telnet 118.10.6.128 88方式測試遠端主機端口是否打開。
方法二. nmap ip -p port 測試端口
nmap ip 顯示全部打開的端口
根據顯示close/open确定端口是否打開。
方法三. nc -v host port
端口未打開傳回狀态為非0
一:telnet
此法常被用來檢測是個遠端端口是否通暢。
<code>測試域名:</code>
<code># telnet baidu.com 80</code>
<code>Trying 123.125.114.144...</code>
<code>Connected to baidu.com (123.125.114.144). #==>出現Connected表示連通了,說</code>
<code>明百度的80端口開放的</code>
<code>Escape character is '^]'. #==>按“ctrl+]”退出此地。</code>
<code>^]</code>
<code>telnet> quit</code>
<code>Connection closed.</code>
<code>測試IP位址:</code>
<code># telnet 108.5.16.139 7506</code>
<code>Trying 108.5.16.139...</code>
<code>Connected to static-108-5-16-139.nycmny.fios.verizon.net (108.5.16.139). #==>出</code>
<code>現Connected表示連通了,說明108.5.16.139的7506端口開放的</code>
<code>Escape character is '^]'. #==>按“ctrl+]”退出此地</code>
如果寫腳本通過telnet檢查端口可以用下面的方法:
<code># echo -e "\n"|telnet baidu.com 80|grep Connected</code>
<code>Connection closed by foreign host.</code>
<code>Connected to baidu.com (123.125.114.144).</code>
二:通過nmap來檢查端口是否通暢
<code># nmap etiantian.org -p 80 </code>
<code>Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-07-22 17:22 PDT</code>
<code>Interesting ports on 211.100.98.99:</code>
<code>PORT STATE SERVICE</code>
<code>80/tcp open http</code>
<code>Nmap finished: 1 IP address (1 host up) scanned in 0.417 seconds</code>
如果寫腳本通過nmap檢查端口可以用下面的方法:
<code>PORT_COUNT=`nmap $ip_add -p $port|grep open|wc -l`</code>
<code>[[ $PORT_COUNT -ge 1 ]] && echo "$ip_add $port is ok." || echo "$ip_add $port is unknown."</code>
三:通過nc指令檢查
<code># nc -w 10 8.8.8.8 53 && echo ok ||echo no </code>
<code>ok</code>
<code></code>
本文轉自ling118 51CTO部落格,原文連結:http://blog.51cto.com/meiling/1982402,如需轉載請自行聯系原作者