使用telnet測試指定埠的連通性

千鋒Python唐小強發表於2020-07-07

telnet 是一個閹割版的 ssh ,它資料不加密,資料容易被盜竊,也容易受中間人攻擊,所以預設情況下 telnet 埠是必須要被關閉的。

telnet為使用者提供了在本地計算機上完成遠端主機工作的能力,因此可以透過telnet來測試埠的連通性。

確認遠端主機的埠

在測試埠的連通性之前,我們先使用 nmap 命令來檢視目標伺服器的埠開放狀態。

$ nmap lxlinux.net

使用telnet測試指定埠的連通性

使用telnet測試埠的連通性

在確認了目標伺服器的埠開放性之後,我們就可以使用 telnet 來測試埠的連通性了。測試的格式是:

$ telnet server port

比如我們想要測試 http 的埠(80)連通性,我們可以這樣測試:

$ telnet lxlinux.net 
80

使用telnet測試指定埠的連通性

從提示中我們可以看出來,它顯示 Connected to lxlinux.net. ,這說明這個埠是是連通的。

如果埠是不連通的,那麼它將提示 unable connect to remote host: Connection timed out 。

使用telnet測試指定埠的連通性

現在我們再來試試關閉的埠。我們來測試一下 22 埠,這個埠沒有被 nmap 掃描出來,所以應該是關閉的。為了保險起見,我們可以用 nmap 再來確認一下,這時我們要加上 -p 選項。

$ nmap -p 
22 lxlinux.net

使用telnet測試指定埠的連通性

所以現在確認了 22 埠是關閉的了,我們就可以使用 telnet 來測試它的連通性。

$ telnet lxlinux.net 
22

使用telnet測試指定埠的連通性

提示裡顯示Connection refused ,這說明這個埠也是不連通的。

當你用 telnet 連線上某個埠後,可以按  CTRL+] 進入到互動介面:


telnet>

然後再輸入 quit 再敲下回車,即可退出連線。

使用telnet測試指定埠的連通性

利用 telnet 的這個特性,我們可以寫個指令碼來測試多個主機及埠的連通性。

比如我們寫了下面這個指令碼  multipletelnet.sh :


#!/bin/bash

telnet lxlinux.net 80
telnet baidu.com 80
telnet lxlinux.net 443

然後我們再使用 chmod 命令賦予它可執行許可權:

$ 
chmod +
x multipletelnet.sh

使用telnet測試指定埠的連通性

當然,如果你想要同時測試多個埠的話,那麼這個指令碼就有點力不從心了,在這種情況下,你就需要用到 nmap 及其它相似工具了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2702805/,如需轉載,請註明出處,否則將追究法律責任。

相關文章