天天看點

用telnet程式連接配接tcp服務端判斷服務及網絡狀态

用telnet程式連接配接tcp服務端判斷服務及網絡狀态.

由于工作中有一次判斷錯了.檢討一下.

今天我就想把能想到的情況都總結一下.可能會有遺漏.

測試環境: linux帶的telnet程式. 不同的用戶端程式的提示是不同的, 容易判斷失誤.

情況1:

連接配接逾時

現像: 連接配接時間非常長.隻發出了tcp連接配接的第一個包.并重試了幾次.

原因:

1.資料包被過濾掉.

2.無主機應答資料.

3.最末級路由的arp設定錯誤.

結果: telnet程式提示連接配接逾時.

#telnet 1.1.1.1 22

Trying 1.1.1.1…

telnet: Unable to connect to remote host: Connection timed out

情況2:

現像: 連接配接時間可能很短. 也可能經過不長時間得到出錯提示.

原因:

1.telnet用戶端發出的資料包之後.接到了三層裝置反回的icmp錯誤資訊.

2.防火牆傳回了icmp錯誤類型的資料包.

3.中間存在幹擾裝置向用戶端發送了icmp資料包.(更多的應該是發tcp rst吧.)

結果: 作業系統直接關閉了tcp連接配接. telnet程式提示連接配接出錯.

telnet 2.2.2.2 22

Trying 2.2.2.2…

telnet: Unable to connect to remote host: Network is unreachable

telnet: Unable to connect to remote host: No route to host

也許ttl耗盡等icmp出錯,也可以出現相同效果.

情況3:

現像: 連接配接時間非常短.直接提示拒絕連接配接.

原因:

1.對端主機端口未處理LISTEN狀态.主機發送tcp rst到用戶端.

2.中間存在幹擾裝置向用戶端發送了tcp rst到用戶端.

結果: 連一下馬上得到拒絕的結果.

telnet 3.3.3.3 22

Trying 3.3.3.3…

telnet: Unable to connect to remote host: Connection refused

情況4:

現像: 正常建立tcp連接配接.可以繼續通信.之後的現像就得看服務端程式是細節了.

#telnet 127.0.0.1 22

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is ‘^]’.

繼續閱讀