近年來資安的關係,許多系統操作的設定都會大幅變動,例如/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]
0 留言