掌握Linux系统中的nc命令,轻松掌控网络世界

admin 应用 2024-01-18 14:41 242

功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍,功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。nc可以提供如下的网络功能:1) 监听特定端口,这时候nc就可以作为一个服务器,但是我发现这样使用nc生成的服务器仅仅是一个echo服务器而已,没有其他更加强大的功能. 2) 连接特定端口,这时候nc就成为了一个客户端,同样的,也是一个简单的客户端,只能起echo的作用. 3) 扫描端口,这可以作为查询某个机器上是否开启了某个端口. 几个具体的使用例子例子1:使用nc打开linux下的特定端口nc -lp 23 & (即telnet) netstat -an|grep 23 (查看端口是否正常打开) 例子2:使用nc进行文件传输,命令ssh root@www.freetstar.com “( nc -l 10003 > destination 2>/dev/null & )” && cat source | nc www.freetstar.com 10003 && 前边ssh登录到远程主机www.freetstar.com上,用nc命令打开本地的10003端口,成为后台进程 &&后边,在本地机器上打开source文件,并将其重定向到www.freetstar.com的10003号端口,也就是让远程www.freetstar.com主机10003号端口接收source文件例子3:使用nc扫描linux下的特定端口nc -v -z host.example.com 70-80 扫描端口(70到80),可指定范围。-v输出详细信息。例子4:克隆硬盘或分区类似于例子2,只需要由dd获得硬盘或分区的数据,然后传输即可。克隆硬盘或分区的操作,不应在已经mount的的系统上进行。所以,需要使用安装光盘引导后,进入拯救模式(或使用Knoppix工 具光盘)启动系统后 server1上执行:# nc -l -p 1234 | dd of=/dev/sda server1上执行1234号端口监听,将得到的文件保存到/dev/sda上server2上执行:# dd if=/dev/sda | nc server1 1234 例子5:保存Web页面while true; do nc -l -p 80 -q 1

语法:nc [-hlnruz][-g][-G][-i][-o][-p][-s][-v...][-w][主机名称][通信端口...]

参数:  -g 设置路由器跃程通信网关,最多可设置8个。  -G 设置来源路由指向器,其数值为4的倍数。  -h 在线帮助。  -i 设置时间间隔,以便传送信息及扫描通信端口。  -l 使用监听模式,管控传入的资料。  -n 直接使用IP地址,而不通过域名服务器。  -o 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。  -p 设置本地主机使用的通信端口。  -r 乱数指定本地与远端主机的通信端口。  -s 设置本地主机送出数据包的IP地址。  -u 使用UDP传输协议。  -v 显示指令执行过程。  -w 设置等待连线的时间。  -z 使用0输入/输出模式,只在扫描通信端口时使用。

来看下它的基本用法:

1.监听本地端口

复制代码代码如下:root@10.1.1.43:~# nc -l -p 1234 root@10.1.1.43:~# netstat -tunlp | grep 1234tcp00 0.0.0.0:12340.0.0.0:* LISTEN15543/nc

2.端口扫描

复制代码代码如下:root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80(UNKNOWN) [10.1.1.180] 80 (www) open 复制代码代码如下:root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000(UNKNOWN) [10.1.1.180] 22000 (?) open(UNKNOWN) [10.1.1.180] 80 (www) open

3.文件传出

源10.1.1.43 text.txt

目的 10.1.1.180

复制代码代码如下:root@10:~# nc -l -p 1234test.txt #开10.1.1.180:1234端口监听,并将socket传输过来的数据重定向到test.txt文件 test 43 ncroot@10.1.1.43:~#cat test.txtroot@10.1.1.43:~# nc10.1.1.180 1234test.txt#连接远程的10.1.1.180,从test.txt的路径从定向到socket,从而将文件传输到远方。root@10:~# cat test.txttest 43 nc4.目录传输

>

相关推荐
关闭

用微信“扫一扫”