Linux 工具 telnet 不能使用/安裝怎麼辦?沒關係,還有 nc 可以用!!!

近年來資安的關係,許多系統操作的設定都會大幅變動,例如/tmp不能有執行權限 "noexec" 之類的特殊設定,因此漸漸造成廠商安裝或維護手段要不斷的改良,以上離題了;

也因為資安的關係,維護或系統人員最常使用的telnet工具也不給安裝,原因是工具過於不安全,其實是telnet server不安裝,所以不給安裝,想想連同基本client工具telnet也一併封了XD,就能「另外學習」nc這個指令


列出範例:

ex1. 嘗試連線到某台主機LDAP Port 389 -> 失敗

user@d:~> telnet 10.10.10.10 389
Trying 10.10.10.10...
^C

user@d:~> nc -v -w 3 10.10.10.10 389
nc: connect to 10.10.10.10 port 389 (tcp) timed out: Operation now in progress

ex2. 嘗試連線到某台主機SSH Port 22 -> 成功

user@d:~> telnet 10.10.10.10 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.4

Protocol mismatch.
Connection closed by foreign host.


user@d:~> nc -v -w 3 10.10.10.10 22
Connection to 10.201.1.51 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_8.4

有看出telnet vs nc的差異嗎?

1. telnet執行後,如果連不上,需要自己去按ctrl+c取消,否則它是不會自動取消的

2. nc則是設定 -w 3秒 timeout時間,若連不到,3秒後就結束並拋出error

3. nc帶入 -v 用於顯示是否連線成功,如果連到的port是沒有回饋訊息的,就需要帶 -v 來知道是不是連線成功


user@d:~> nc --help
nc: invalid option -- '-'
usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
	  [-m minttl] [-O length] [-P proxy_username] [-p source_port]
	  [-q seconds] [-s source] [-T keyword] [-V rtable] [-w timeout] [-X proxy_protocol]
	  [-x proxy_address[:port]] [destination] [port]

結論:不管是telnet還是nc,至少都需要安裝其中一種工具,不然維護/操作人員永遠無法在不使用「該port服務工具」的前提下,知道連線是否正常

張貼留言

0 留言