当前位置: 首页 > Linux

每天学一个Linux命令(91):nc

时间:2023-04-06 22:42:24 Linux

命令介绍nc命令是一个强大的网络工具。它是一个端口扫描器,它是一个安全工具,它是一个监控工具,它甚至可以是一个简单的TCP代理。语法nc[-hlnruz][-g<网关...>][-G<指针数>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s][-v...][-w][hostname][communicationport...]optiondescription-g#设置路由器跳数通信网关,最多8个可以设置。-G<指针数>#设置源路由指针,其值为4的倍数-i<延迟秒数>#设置发送信息和扫描通信端口的时间间隔-o<输出文件>#指定输出到保存到文件中-p<通信端口>#设置本地主机使用的通信端口-s<源地址>#设置本地主机发送数据包的IP地址-w<超时秒数>#设置等待连接的时间-l#使用监听模式-n#使用IP地址-r#随机数指定本地和远程主机之间的通信端口-u#使用UDP传输协议-v#命令执行时显示详细信息-z#Use0input/outputmode-h#打印帮助信息应用示例scanport[root@centos7~]#nc-c-z-w4192.168.1.1991-65535Ncat:Connectionrefused.这里有一个坑,在CentOS7.X中使用yuminstall-ync安装nc实际安装的是nmap-ncat(ncat命令),但是ncat命令没有端口扫描功能,但是为什么可以使用nc命令在系统中,如下:[root@centos7~]#whichnc/usr/bin/nc[root@centos7~]#ls-l/usr/bin/nclrwxrwxrwx1rootroot22Aug202020/usr/bin/nc->/etc/alternatives/nmap[root@centos7~]#ll/etc/alternatives/nmaplrwxrwxrwx1rootroot13Aug202020/etc/alternatives/nmap->/usr/bin/ncat[root@centos7~]#ll/usr/bin/ncat-rwxr-xr-x1rootroot380184Aug82019/usr/bin/ncat因此,当你在系统中执行nc命令时,实际执行的是ncat命令。解决方法如下:下载nc软件包(https://sourceforge.net/proje...),上传,解压,编译安装(你会发现网上很多教程都不验证这个坑)[root@centos7~]#tarzxfnetcat-0.7.1.tar.gz[root@centos7~]#cdnetcat-0.7.1[root@centos7~]#./configure[root@centos7~]#make&&makeinstall[root@centos7~]#echo$?[root@centos7~]#0[root@centos7~]#whichnetcat/usr/local/bin/netcat[root@centos7~]#ln-s/usr/local/bin/netcat/usr/bin/nc[root@centos7~]#nc--helpGNUnetcat0.7.1,重写了著名的网络工具。基本用法:连接到某处:nc[选项]主机名端口[端口]...监听入站:nc-l-p端口[选项][主机名][端口]...到某处的隧道:nc-L主机名:port-p端口[选项]长选项的强制参数对于短选项。选项:关闭来自标准输入的EOF上的连接-e,--exec=PROGRAM程序在连接后执行-g,--gateway=LIST源路由跳点[s],直到8-G,--pointer=NUM源路由指针:4,8,12,...-h,--help显示此帮助和退出-i,--interval=SECS发送的行、扫描的端口的延迟间隔-l,--listen监听模式,用于入站连接-L,--tunnel=ADDRESS:PORT转发本地端口到远程地址-n,--dont-resolve仅数字IP地址,无DNS-o,--output=FILE将hexdump流量输出到FILE(暗示-x)-p,--local-port=NUM本地端口号-r,--随机化随机化本地和远程端口-s,-source=地址本地源地址(IP或主机名)-T,-TCPTCP模式(默认)-t,-telnet使用telnet协商-U,-U,-UDPUDP模式-v,-verbose冗长(使用两次冗长)-v,-version输出版本信息和退出-x,-hexDumphexdumpinofoutandOutofofOutofstraging-w,-wait=secsforConnects和connects和secs最终网络读取-z,--zero零I/O模式(用于扫描)远程端口号也可以指定为范围。示例:'1-1024'扫描端口(指定范围)[root@centos7~]#nc-v-z-w2192.168。1.1001-65535192.168.1.10022(ssh)open192.168.1.10019999(dnp-sec)开启指定端口扫描[root@centos7~]#nc-nvv192.168.1.10022192.168.1.100OpenSS022(ssh-sh.2_openSS)4协议不匹配。总接收字节数:40总发送字节数:1检查服务器到目标地址的出端口是否被防火墙屏蔽[root@centos7~]#nc-vzwww.baidu.com443-w2www.baidu.com[36.152.44.96]443(https)打开[root@centos7~]#[root@centos7~]#nc-vzwww.baidu.com80-w2www.baidu.com[36.152.44.96]80(http)打开