zoukankan      html  css  js  c++  java
  • linux 检测远程端口是否打开

    1. telnet

    > telnet [host] [port]  # 检测指定端口是否通畅。
    > telnet baidu.com 80
    Trying 123.125.114.144...
    Connected to baidu.com (123.125.114.144).  # 出现Connected表示连通了,说明百度的80端口开放的
    Escape character is '^]'. # 按键ctrl+]退出此地。
    ^]
    telnet> quit
    Connection closed.

    # 如果写脚本通过telnet检查端口可以用下面的方法:
    > echo -e " "|telnet baidu.com 80|grep Connected
    Connection closed by foreign host.
    Connected to baidu.com (123.125.114.144).

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13

    2. nmap

    # nmap需要安装  sudo apt install nmap
    nmap [ip] [-p port]  # 测试端口
    nmap [ip]  # 显示全部打开的端口,根据显示close/open确定端口是否打开
    > nmap etiantian.org -p 80  # 通过nmap来检查端口是否通畅
    Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-07-22 17:22 PDT
    Interesting ports on 211.100.98.99:
    PORT   STATE SERVICE
    80/tcp open  http
    Nmap finished: 1 IP address (1 host up) scanned in 0.417 seconds

    # 如果写脚本通过nmap检查端口可以用下面的方法:
    PORT_COUNT=`nmap $ip_add  -p $port|grep open|wc -l`
       [[ $PORT_COUNT -ge 1 ]] && echo "$ip_add $port is ok." || echo "$ip_add $port is unknown."

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13

    3. nc

    # 通过nc命令检查
    nc -v [host] [port]
    端口未打开返回状态为非0

    # 脚本方式
    > nc -w 5  211.100.98.99 80 && echo ok
    ok
    > nc -w 10  8.8.8.8 53 && echo ok ||echo no  
    ok

  • 相关阅读:
    打印从1到最大的n位数
    TCP/IP协议
    函数指针做函数参数
    Ubuntu系统扩大/home分区
    《一切都准时》一首非常有意思的小诗
    阿里云服务器编译安装Hadoop 2.7.4 伪分布式环境
    C++中的string类型占用多少个字节
    使用apt-file安装需要的软件包或者库文件
    剑指offer之【表示数值的字符串】
    剑指offer之【正则表达式】☆
  • 原文地址:https://www.cnblogs.com/wangdidi/p/10899675.html
Copyright © 2011-2022 走看看