怎么判断linux22端口是否通,判断端口通不通的几种方法

通常使用"telnet ip port"判断端口通不通. 有其它方法吗?先看下面的几种方法

准备环境

启动一个web服务器,提供端口.

[wyq@localhost ~]$ python -m SimpleHTTPServer 8080

Serving HTTP on 0.0.0.0 port 8080 ...

用其它web服务器提供端口也一样,由于python比较方便,这里就用它

使用telnet判断

telnet是windows标准服务,可以直接用;如果是linux机器,需要安装telnet.

用法: telnet ip port

先用telnet连接不存在的端口

[wyq@localhost ~]$ telnet localhost 9000

Trying 127.0.0.1...

telnet: connect to address 127.0.0.1: Connection refused

直接提示连接被拒绝

再连接上面提供的端口

[wyq@localhost ~]$ telnet localhost 8080

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

看到"Connected to localhost." 可以知道连接成功了.

后台服务器有什么反映?

[wyq@localhost monitor]$ python -m SimpleHTTPServer 8080

Serving HTTP on 0.0.0.0 port 8080 ...

没有任何反映

此时telnet停住了,随便输入一个字符"a",然后回车

[wyq@localhost ~]$ telnet localhost 8080

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

a

Error response

Error response

Error code 400.

Message: Bad request syntax ('a').

Error code explanation: 400 = Bad request syntax or unsupported method.

Connection closed by foreign host.

再看服务器

[wyq@localhost monitor]$ python -m SimpleHTTPServer 8080

Serving HTTP on 0.0.0.0 port 8080 ...

127.0.0.1 - - [22/Aug/2014 07:15:16] code 400, message Bad request syntax ('a')

127.0.0.1 - - [22/Aug/2014 07:15:16] "a" 400 -

上面是linux环境下telnet连接一个web服务端口的情况.

使用ssh判断

ssh是linux的标准配置并且最常用,可以用来判断端口吗?

用法: ssh -v -p port username@ip

-v 调试模式(会打印日志).

-p 指定端口

username可以随意

连接不存在端口

[wyq@localhost ~]$ ssh -v -p 9000 wyq@localhost

OpenSSH_6.4, OpenSSL 1.0.1e-fips 11 Feb 2013

debug1: Reading configuration data /home/wyq/.ssh/config

debug1: Reading configuration data /etc/ssh/ssh_config

debug1: /etc/ssh/ssh_config line 51: Applying options for *

debug1: Connecting to localhost [127.0.0.1] port 9000.

debug1: connect to address 127.0.0.1 port 9000: Connection refused

ssh: connect to host localhost port 9000: Connection refused

"Connection refused"表示端口不可用

连接存在的端口

[wyq@localhost ~]$ ssh -v -p 8080 wyq@localhost

OpenSSH_6.4, OpenSSL 1.0.1e-fips 11 Feb 2013

debug1: Reading configuration data /home/wyq/.ssh/config

debug1: Reading configuration data /etc/ssh/ssh_config

debug1: /etc/ssh/ssh_config line 51: Applying options for *

debug1: Connecting to localhost [127.0.0.1] port 8080.

debug1: Connection established.

debug1: identity file /home/wyq/.ssh/id_rsa type 1

debug1: identity file /home/wyq/.ssh/id_rsa-cert type -1

debug1: identity file /home/wyq/.ssh/id_dsa type -1

debug1: identity file /home/wyq/.ssh/id_dsa-cert type -1

debug1: identity file /home/wyq/.ssh/id_ecdsa type -1

debug1: identity file /home/wyq/.ssh/id_ecdsa-cert type -1

debug1: Enabling compatibility mode for protocol 2.0

debug1: Local version string SSH-2.0-OpenSSH_6.4

debug1: ssh_exchange_identification: 

debug1: ssh_exchange_identification: 

Error response

debug1: ssh_exchange_identification: 

debug1: ssh_exchange_identification: 

debug1: ssh_exchange_identification: 

Error response

debug1: ssh_exchange_identification: 

Error code 400.

debug1: ssh_exchange_identification: 

Message: Bad request syntax ('SSH-2.0-OpenSSH_6.4').

debug1: ssh_exchange_identification: 

Error code explanation: 400 = Bad request syntax or unsupported method.

debug1: ssh_exchange_identification: 

ssh_exchange_identification: Connection closed by remote host

"Connection established" 表示已经连上端口

服务器输出

[wyq@localhost ~]$ python -m SimpleHTTPServer 8080

Serving HTTP on 0.0.0.0 port 8080 ...

127.0.0.1 - - [22/Aug/2014 13:32:55] code 400, message Bad request syntax ('SSH-2.0-OpenSSH_6.4')

127.0.0.1 - - [22/Aug/2014 13:32:55] "SSH-2.0-OpenSSH_6.4" 400 -

使用wget判断

wget是linux下的下载工具,需要先安装.

用法: wget ip:port

连接不存在的端口

[wyq@localhost ~]$ wget localhost:9000

--2014-08-22 13:36:42--  http://localhost:9000/

正在解析主机 localhost (localhost)... 127.0.0.1

正在连接 localhost (localhost)|127.0.0.1|:9000... 失败:拒绝连接。

连接存在的端口

[wyq@localhost ~]$ wget localhost:8080

--2014-08-22 13:37:22--  http://localhost:8080/

正在解析主机 localhost (localhost)... 127.0.0.1

正在连接 localhost (localhost)|127.0.0.1|:8080... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:2770 (2.7K) [text/html]

正在保存至: “index.html”

100%[======================================>] 2,770       --.-K/s 用时 0s

2014-08-22 13:37:22 (105 MB/s) - 已保存 “index.html” [2770/2770])

总结

提供端口服务,则使用了tcp协议,上面是以web服务器为例。如果服务器是更简单的tcp服务器,三个工具同样适用.

三个工具的共同点是:1.以tcp协议为基础;2.能访问指定端口. 遵循这两点可以找到很多工具.

一般在windows下使用telnet比较方便,linux下个人就比较喜欢用wget.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值