使用nc指令扫描远程主机是否开启端口

 
测试机器为Centos7
 
 
    在测试机器上执行:
            [root@localhost JMKVCloud]# firewall-cmd  --zone=public  --add-port=8989/tcp --permanent
            success
            [root@localhost JMKVCloud]# firewall-cmd --reload
 
    此时机器的端口已经开放,但是在另一台机器上向该主机确认
        无论是
                telnet   192.168.6.68 8989
        还是
                nc -zvw3  192.168.6.68  8989
        均是失败告终
    后分析得知,虽然防火墙已经开放了该端口,但是在测试机器上,没有后台程序侦听该端口,因此无法使用telnet或者nc来扫描确认
        另外注意,telnet是基于tcp协议的,因此无法侦测udp协议
        很有意思的是,使用nc客户端去连接nc服务端时,一旦通讯成功,服务端会自动退出。
        
 
    在测试机器上,开启后台侦听,以便在另一台机器上可以确认该端口已经打开
        [root@localhost JMKVCloud]# nc -lp 8080 &
    此时继续在另一台机器测试,可以得到预测的结果
 
 
 
 
 
 
nc命令的常用参数
    1) -l
    用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
    2) -p <port>
    限制数据发送原端口
    3) -s 
    指定发送数据的源IP地址,适用于多网卡机 
    4) -u
     指定nc使用UDP协议,默认为TCP
    5) -v
    输出交互或出错信息,新手调试时尤为有用
    6)-w
    超时秒数,后面跟数字 
    7)-z
    表示zero,表示扫描时不发送任何数据
 
nc 使用目的:
  • 侦听任意端口,以TCP/UDP 方式
  • 端口扫描
  • 传输文件
  • 测速
 
    
posted @ 2021-03-07 23:19  dos_hello_world  阅读(740)  评论(0)    收藏  举报