linux 下nc 命令的使用

netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门 工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接。
一、基本使用
想要连接到某处: nc [-options] hostname port[s] [ports] …
绑定端口等待连接: nc -l port [-options] [hostname] [port]
参数:
-h 帮助信息
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-u UDP模式

-t TCP模式(默认模式)
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时
其中端口号可以指定一个或者用lo-hi式的指定范围。
1)扫描端口
tcp扫描
shell>nc -v -z -w2 192.168.1.131 1-30
udp扫描
shell>nc -u -v -z -w2 192.168.1.131 1-30
2)连接到REMOTE主机,例子:
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口
3)监听LOCAL主机,例子:
格式:nc -l 80
讲解:监听本机的TCP80端口
4)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口

5)两台linux主机间传送数据

Linux A:192.168.1.131

Linux B:192.168.1.132

现在需要从B主机上传输一个文件file_b到B主机上,那么操作方法如下所示:
在A主机上:nc -d -l 1000 > /data/file_out &(启动端口监听)
在B主机上:nc 192.168.1.131 1000 < file_in(从A主机上启动的监听端口传送数据)
文件传输完毕后,系统会自动断开连接。从上面来看,它其实是一个很简单的Server/Client模式,服务器端开启侦听端口,并用输入输出重定向到一 个文件file.out当中,等待客户端的连接。客户端主动连接主机,并和它建立一个Socket连接,然后把传输的文件重定向到数据流当中。
需要注意的一点是,主机侦听的端口必须是已经开放的端口,可以通过查看iptables进行配置。

- EOF -