Linux之nc命令工具

1.  安装

    yum install nc -y

2.  常用选项

    -l  用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其他地址发起连接。

    -s  指定发送数据的源IP地址,适用于多网卡主机

    -u  指定使用udp,默认是tcp

    -v  输出交互或出错信息,新手调试

    -w  超时秒数,后面跟数字

    -z  表示zero,表示扫描时不发送任何数据

    -p  指定连接监听服务器的端口

3.  实战例子

    1.  -l的使用

        1.  在test4上,打开监听模式。

            

 

             

 

            可以看到已经打开了9999端口

        2.  在test3上,使用telnet命令

            

 

     2.  nc当做客户端,进行端口探测

        1.  上面的test4已经打开了9999端口,在test3,使用nc命令探测9999端口

            nc -vw 2 192.168.1.185 9998 < /dev/null && echo "tcp port ok"

            

 

             这是客户端为centos7的时候,返回的结果。

            因为centos7的nc已经取消了-z,所以需要使用/dev/null && echo "tcp port ok"

        2.  当客户端为centos6的时候,返回的结果。

            

     3.  连续端口的探测

        1.   在test4打开9999和9998两个端口

            

 

         2.  当客户端为ceontos6的时候,探测9999和9998两个端口        

            

        3.  当客户端为centos7的时候,探测9999和9998两个端口

            centos7不支持

    4.  nc作为服务端监听udp端口

        1.  test4打开监听的udp端口9999

             sudo nc -u -l 9999 &

        2.  test3当做客户端测试连接test4

            sudo nc -v -w 2 -u 192.168.1.185 9999 < /dev/null && echo "ucdp port ok"

            

    5.  nc扫描大量udp端口

        1.  在客户端centos6上,使用nc命令

                            

 

        2.  在客户端centos7上,没有找到对应的方法

    6.  使用nc传输文件和目录

        第一种方法(先打开接收端,再打开发送端)

          目的:把test3的文件传输到test4上

          1.  test4打开监听的端口,并把收到的数据都写到一个目标文件中(名字可以任意取)

              nc -l 9999 > a.cfg

          2.  test3读取源文件

              nc 192.168.1.185 9999 < anaconda-ks.cfg

        第二种方法(先打开发送端,再打开接收端)

          1.  test3打开发送命令

              nc -l 9999 < anaconda-ks.cfg

          2.  test4打开接收命令

              nc 192.168.1.184 9999 > d.cfg   

        第三种方法(传输目录)

          1.  在接收方上打开监听

              sudo nc -l 9999 | tar zxvf -

          2.  在发送方传输

              sudo tar cfz - {a..f} | nc 192.168.1.185 9999                                   

    7.  使用nc测试网速

        1.  在发送端和接收端都安装dstat工具,用来监测网速

            yum install -y dstat

        2.  在接收端启动接收数据的命令

            sudo nc -l 9999 > /dev/null

        3.  在发送端启动发送数据的命令

            sudo nc 192.168.1.185 9999 < /dev/zero    

        4.  使用dstat工具观察一下

            

 

    8.  nc作为web客户端

        nc webserver port

        

 

    

 

        

 

              

 

            

            

            

 

            

            

 

 

            

            

            

            

        

                         

            

                  

    

    

posted @ 2021-01-29 11:21  奋斗史  阅读(953)  评论(0)    收藏  举报