zoukankan      html  css  js  c++  java
  • 测试端口是否打开的四种方法(转)

    add by zhj:没找到出处

    一般情况下使用"telnet ip port"判断端口通不通,其实测试方法不止这一种,还有很多种方法,下面小编给大家分享了几种方法,具体内容请往下看:

    准备环境

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

    1
    2
    [wyq@localhost ~]$ python -m SimpleHTTPServer 8080
    Serving HTTP on 0.0.0.0 port 8080 ...

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

    1、使用telnet判断

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

    用法: telnet ip port

    1)先用telnet连接不存在的端口

    1
    2
    3
    [root@localhost ~]# telnet 10.0.250.3 80
    Trying 10.0.250.3...
    telnet: connect to address 10.0.250.3: Connection refused #直接提示连接被拒绝

    2)再连接存在的端口

    1
    2
    3
    4
    5
    6
    7
    8
    [root@localhost ~]# telnet localhost 22
    Trying ::1...
    Connected to localhost. #看到Connected就连接成功了
    Escape character is '^]'.
    SSH-2.0-OpenSSH_5.3
    a
    Protocol mismatch.
    Connection closed by foreign host.

    2、使用ssh判断

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

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

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

    -p 指定端口

    username可以随意

    1)连接不存在端口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    [root@localhost ~]# ssh 10.0.250.3 -p 80
    ssh: connect to host 10.0.250.3 port 80: Connection refused
    [root@localhost ~]# ssh 10.0.250.3 -p 80 -v
    OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: Applying options for *
    debug1: Connecting to 10.0.250.3 [10.0.250.3] port 80.
    debug1: connect to address 10.0.250.3 port 80: Connection refused
    ssh: connect to host 10.0.250.3 port 80: Connection refused

    2)连接存在的端口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [root@localhost ~]# ssh ... -p
    a
    ^]
    ^C
    [root@localhost ~]# ssh ... -p -v
    OpenSSH_.p, OpenSSL ..e-fips Feb
    debug: Reading configuration data /etc/ssh/ssh_config
    debug: Applying options for *
    debug: Connecting to ... [...] port .
    debug: Connection established.
    debug: permanently_set_uid: /
    debug: identity file /root/.ssh/identity type -
    debug: identity file /root/.ssh/identity-cert type -
    debug: identity file /root/.ssh/id_rsa type -
    debug: identity file /root/.ssh/id_rsa-cert type -
    debug: identity file /root/.ssh/id_dsa type -
    debug: identity file /root/.ssh/id_dsa-cert type -
    a
    ^C

    不用-v选项也可以咯

    3、使用wget判断

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

    用法: wget ip:port

    1)连接不存在的端口

    1
    2
    3
    [root@localhost ~]# wget ...:
    ---- ::-- http://.../
    Connecting to ...:... failed: Connection refused.

    2)连接存在的端口

    1
    2
    3
    4
    [root@localhost ~]# wget ...:
    ---- ::-- http://...:/
    Connecting to ...:... connected.
    HTTP request sent, awaiting response...

    4、使用端口扫描工具

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    [root@localhost ~]# nmap ... -p
    Starting Nmap . ( http://nmap.org ) at -- : CST
    Nmap scan report for ...
    Host is up (.s latency).
    PORT STATE SERVICE
    /tcp closed http
    MAC Address: B:A::CF:FD:D (Unknown)
    Nmap done: IP address ( host up) scanned in . seconds
    [root@localhost ~]# nmap ... -p
    Starting Nmap . ( http://nmap.org ) at -- : CST
    Nmap scan report for ...
    Host is up (.s latency).
    PORT STATE SERVICE
    /tcp open http-proxy
    MAC Address: B:A::CF:FD:D (Unknown)
    Nmap done: IP address ( host up) scanned in . seconds
    [root@localhost ~]# nmap ...
    Starting Nmap . ( http://nmap.org ) at -- : CST
    Nmap scan report for ...
    Host is up (.s latency).
    Not shown: closed ports
    PORT STATE SERVICE
    /tcp open ssh
    /tcp open rpcbind
    /tcp open http-proxy
    /tcp open unknown
    MAC Address: B:A::CF:FD:D (Unknown)
    Nmap done: IP address ( host up) scanned in . seconds

    总结

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

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

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

  • 相关阅读:
    证书介绍
    Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
    Hive安装与配置详解
    技术学习内容
    死锁,更新锁,共享锁,排它锁,意向锁,乐观锁,悲观锁等名词解释及案例详解
    死锁语句
    SQL Server 锁表、查询被锁表、解锁相关语句
    Psi Probe 安装及使用说明
    PowerDesigner使用教程
    Python -面向对象(一 基本概念)
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/12789114.html
Copyright © 2011-2022 走看看