84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
請問Telnet連線不上tcp伺服器是怎麼回事? (tcp 伺服器已經啟動)
封包:telnet: could not resolve localhost:18001/telnet: Temporary failure in name resolution
telnet指令通常用來遠端登入。 telnet程式是基於TELNET協定的遠端登入客戶端程式。 Telnet協定是TCP/IP協定族中的一員,是Internet遠端登入服務的標準協定和主要方式。它為使用者提供了在本機電腦上完成遠端主機工作的能力。
語法
telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]
參數
-8 允许使用8位字符资料,包括输入与输出 -a 尝试自动登入远端系统 -b<主机别名> 使用别名指定远端主机名称 -c 不读取用户专属目录里的.telnetrc文件 -d 启动排错模式 -e<脱离字符> 设置脱离字符 -E 滤除脱离字符 -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机 -f 此参数的效果和”-F”参数相同 -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名 -K 不自动登入远端主机 -l<用户名称> 指定要登入远端主机的用户名称 -L 允许输出8位字符资料 -n<记录文件> 指定文件记录相关信息 -r 使用类似rlogin指令的用户界面 -S<服务类型> 设置telnet连线所需IP TOS信息 -x 假设主机有支持数据加密的功能,就使用它 -X<认证形态> 关闭指定的认证形态
使用範例
範例1:遠端伺服器無法存取
[root@linuxprobe ~]# telnet 192.168.120.209 Trying 192.168.120.209... telnet: connect to address 192.168.120.209: No route to host telnet: Unable to connect to remote host: No route to host
處理這種情況方法: (1)確認IP位址是否正確(2)確認IP位址對應的裝置是否已開機(3)如果主機已經啟動,確認路由設定是否設定正確(使用route指令查看)(4)如果主機已經啟動,確認主機上是否開啟了telnet服務(使用netstat指令查看,TCP的23埠是否有LISTEN狀態列)(5)如果主機已經啟動telnet服務,確認防火牆是否開放了23埠的存取(使用iptables-save檢視)
#範例2:網域無法解析
[root@linuxprobe ~]# telnet www.baidu.com www.baidu.com/telnet: Temporary failure in name resolution
處理這種情況方法:(1)確認網域是否正確(2)確認本機的網域解析有關的設定是否正確(/etc/resolv.conf中nameserver的設定是否正確,如果沒有,可以使用nameserver 8.8.8.8)(3)確認防火牆是否放開了UDP53連接埠的存取(DNS使用UDP協議,連接埠53,使用iptables-save檢視)
範例3:拒絕存取##
[root@linuxprobe ~]# telnet 192.168.120.206 Trying 192.168.120.206... telnet: connect to address 192.168.120.206: Connection refused telnet: Unable to connect to remote host: Connection refused
(1)確認IP位址或主機名稱是否正確(2)確認端口是否正確,是否默認23端口
[root@linuxprobe ~]# telnet 192.168.120.206 443 Trying 192.168.120.206... telnet: connect to address 192.168.120.206: Connection refused
[root@linuxprobe ~]# telnet 192.168.120.204 Trying 192.168.120.204... Connected to 192.168.120.204 (192.168.120.204). Escape character is '^]'. localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2012) (1) login: root Password: Login incorrect
[root@linuxprobe ~]# vi /etc/pam.d/login #auth required pam_securetty.so #将这一行加上注释! 或 [root@linuxprobe ~]# mv /etc/securetty /etc/securetty.bak
[root@linuxprobe ~]# cd /etc/xinetd.d/ [root@linuxprobe xinetd.d]# ll 总计 124 -rw-r--r-- 1 root root 1157 2011-05-31 chargen-dgram -rw-r--r-- 1 root root 1159 2011-05-31 chargen-stream -rw-r--r-- 1 root root 523 2009-09-04 cvs -rw-r--r-- 1 root root 1157 2011-05-31 daytime-dgram -rw-r--r-- 1 root root 1159 2011-05-31 daytime-stream -rw-r--r-- 1 root root 1157 2011-05-31 discard-dgram -rw-r--r-- 1 root root 1159 2011-05-31 discard-stream -rw-r--r-- 1 root root 1148 2011-05-31 echo-dgram -rw-r--r-- 1 root root 1150 2011-05-31 echo-stream -rw-r--r-- 1 root root 323 2004-09-09 eklogin -rw-r--r-- 1 root root 347 2005-09-06 ekrb5-telnet -rw-r--r-- 1 root root 326 2004-09-09 gssftp-rw-r--r-- 1 root root 310 2004-09-09 klogin -rw-r--r-- 1 root root 323 2004-09-09 krb5-telnet -rw-r--r-- 1 root root 308 2004-09-09 kshell -rw-r--r-- 1 root root 317 2004-09-09 rsync -rw-r--r-- 1 root root 1212 2011-05-31 tcpmux-server -rw-r--r-- 1 root root 1149 2011-05-31 time-dgram -rw-r--r-- 1 root root 1150 2011-05-31 time-stream [root@linuxprobe xinetd.d]# cat krb5-telnet # default: off # description: The kerberized telnet server accepts normal telnet sessions, \ # but can also use Kerberos 5 authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/kerberos/sbin/telnetd log_on_failure += USERID disable = yes }
service telnet { disable = no #启用 flags = REUSE #socket可重用 socket_type = stream #连接方式为TCP wait = no #为每个请求启动一个进程 user = root #启动服务的用户为root server = /usr/sbin/in.telnetd #要激活的进程 log_on_failure += USERID #登录失败时记录登录用户名 }
如果要設定允許登入的客戶端列表,加入only_from = 192.168.0.2 #只允許192.168.0.2登入如果要設定禁止登入的客戶端列表,加入no_access = 192.168 .0.{2,3,4} #禁止192.168.0.2、192.168.0.3、192.168.0.4登入如果要設定開放時段,加入access_times = 9:00-12:00 13:00- 17:00 # 每天只有這兩個時段開放服務(我們的上班時間:P)如果你有兩個IP位址,一個是私人網路的IP位址如192.168.0.2,一個是公網的IP位址如218.75.74.83,如果你希望使用者只能從私人網路來登入telnet服務,那麼加入bind = 192.168.0.2各設定項具體的意義和語法可參考xined設定檔屬性說明(man xinetd .conf)配置端口,修改services檔案:# vi /etc/services找到以下兩句telnet 23/tcptelnet 23/udp如 果前面有#字符,就去掉它。 telnet的預設連接埠是23,這個連接埠也是駭客連接埠掃描的主要對象,因此最好將這個連接埠修改掉,修改的方法很簡單,就是將 23這個數字修改掉,改成大一點的數字,例如61123。注意,1024以下的連接埠號碼是internet保留的連接埠號碼,因此最好不要使用,也應該注意不要與 其它服務的連接埠衝突。 啟動服務:service xinetd restart
telnet指令通常用來遠端登入。 telnet程式是基於TELNET協定的遠端登入客戶端程式。 Telnet協定是TCP/IP協定族中的一員,是Internet遠端登入服務的標準協定和主要方式。它為使用者提供了在本機電腦上完成遠端主機工作的能力。
語法
參數
使用範例
範例1:遠端伺服器無法存取
處理這種情況方法:
(1)確認IP位址是否正確
(2)確認IP位址對應的裝置是否已開機
(3)如果主機已經啟動,確認路由設定是否設定正確(使用route指令查看)
(4)如果主機已經啟動,確認主機上是否開啟了telnet服務(使用netstat指令查看,TCP的23埠是否有LISTEN狀態列)
(5)如果主機已經啟動telnet服務,確認防火牆是否開放了23埠的存取(使用iptables-save檢視)
#範例2:網域無法解析
處理這種情況方法:
(1)確認網域是否正確
(2)確認本機的網域解析有關的設定是否正確(/etc/resolv.conf中nameserver的設定是否正確,如果沒有,可以使用nameserver 8.8.8.8)
(3)確認防火牆是否放開了UDP53連接埠的存取(DNS使用UDP協議,連接埠53,使用iptables-save檢視)
範例3:拒絕存取##
處理這種情況方法:(1)確認IP位址或主機名稱是否正確
若要檢查192.168.120.206的某端口是否能否訪問,如443端口,可使用如下指令 說明:這表示192.168.120.206的443埠不能存取範例4:telnet root使用者的登入 說明:一般情況下不允許root從遠端登錄,可以先用普通帳號登錄,然後再su -切到root用戶。若要允許root使用者登錄,可用下列方法: 範例5:啟用telnet服務 設定參數通常如下:(2)確認端口是否正確,是否默認23端口
如果要設定允許登入的客戶端列表,加入
only_from = 192.168.0.2 #只允許192.168.0.2登入
如果要設定禁止登入的客戶端列表,加入
no_access = 192.168 .0.{2,3,4} #禁止192.168.0.2、192.168.0.3、192.168.0.4登入
如果要設定開放時段,加入
access_times = 9:00-12:00 13:00- 17:00 # 每天只有這兩個時段開放服務(我們的上班時間:P)
如果你有兩個IP位址,一個是私人網路的IP位址如192.168.0.2,一個是公網的IP位址如218.75.74.83,如果你希望使用者只能從私人網路來登入telnet服務,那麼加入
bind = 192.168.0.2
各設定項具體的意義和語法可參考xined設定檔屬性說明(man xinetd .conf)
配置端口,修改services檔案:
# vi /etc/services
找到以下兩句
telnet 23/tcp
telnet 23/udp
如 果前面有#字符,就去掉它。 telnet的預設連接埠是23,這個連接埠也是駭客連接埠掃描的主要對象,因此最好將這個連接埠修改掉,修改的方法很簡單,就是將 23這個數字修改掉,改成大一點的數字,例如61123。注意,1024以下的連接埠號碼是internet保留的連接埠號碼,因此最好不要使用,也應該注意不要與 其它服務的連接埠衝突。
啟動服務:service xinetd restart