linux nc命令参数及用法详解之毕业纪

            linux nc命令参数及用法详解
1、功能说明:强大的网络工具netcat 2、语  法:nc [options] [options] -d        后台模式 -e prog        程序重定向,一旦链接,就执行 [危险!!] -g <网关>    设置路由器跃程通讯网关,最多可设置8个。 -G <指向器数目>    设置来源路由指向器,其数值为4的倍数。 -i <延迟秒数>    延时的间隔 -l        监听模式,用于入站链接 -L        链接关闭后,仍然继续监听 -n        直接使用IP地址,而不经过域名服务器。 -o <输出文件>    指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。 -p <端口>    设置本地主机使用的通讯端口。 -r        随机本地及远程端口 -s <源ip地址>    设置本地主机送出数据包的IP地址。 -t        使用TELNET交互方式 -u        使用UDP传输协议。 -v        详细输出(用两个-v可获得更详细的内容) -w <超时秒数>    设置等待连线的时间,即指定多少秒后,断开。 -z        使用0输入/输出模式,只在扫描通讯端口时使用。 -h        帮助信息 主机名/ip    指定访问的主机名/ip port        监听远程主机的端口,能够是单个或范围(M-N)。 nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通讯端口>][-s<来源地址>][-v...][-w<超时秒数>][主机名称][通讯端口...] 3、应用 ①端口扫描(经常使用于检测某个ip的某个服务[端口]是否被监听,即某服务是否启动) 格式:     nc  -v  -w 2 -z $ip  $port -v            显示指令执行过程。 -w  <超时秒数>        设置等待连线的时间。 -z            使用0输入/输出模式,只在扫描通讯端口时使用。 ②远程数据的传输(源主机---->目的主机($ip需监听端口)。传完后ctrl+c中断链接,缺点:不知道何时传完) 格式:     远程(目的)主机:nc -l $port > $file     源主机:      nc $ip $port < $file ③简单的及时聊天(须要在某台主机上,监听端口$port,别的主机能够链接,进行聊天,Ctrl+c,Ctrl+d退出) 格式:     远程(目的)主机:nc -l $port     源主机:      nc $ip $port ④硬盘或分区(同②,源主机---->目的主机,克隆硬盘或分区的操做,不该在已经mount的的系统上进行。) 格式:     远程(目的)主机:nc -l $port |dd of=分区     源主机:      dd if=分区 | nc $ip $port 4、例子 ①批量检测服务器指定端口开放状况: 一、假如咱们要监控一堆指定的IP和端口,可新建一个文件(第1列服务器IP,第2列要监控的端口)。 # vim /scripts/ip-ports.txt     192.168.0.100 80       192.168.0.100 8081       192.168.0.101 8082       192.168.1.100 21 二、咱们能够写这样一个脚原本批量检测端口是否开放: # vim /scripts/ncports.sh     #!/bin/bash       #检测服务器端口是否开放,成功会返回0值显示ok,失败会返回1值显示fail             cat /scripts/ip-ports.txt | while read line       do         nc -w 10 -z $line > /dev/null 2>&1         if [ $? -eq 0 ]         then           echo $line:ok         else           echo $line:fail         fi        done 三、执行脚本查看运行结果以下: # chmod a+x  /scripts/ncports.sh # /scripts/ncports.sh 192.168.0.100 80:ok 192.168.0.100 8081:ok 192.168.0.101 8082:ok 192.168.1.100 21:fail
相关文章
相关标签/搜索