学派吧-什么是Linux系统中nc命令?nc命令的用法教程

这篇文章主要介绍了Linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。

功能说明:功能强大的网络工具<( ̄▽ ̄)>,在网络工具中有“瑞士军刀”美誉,其有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 < somepage.html; done

例子6:
模拟HTTP Headers
[root@hatest1 ~]# nc www.huanxiangwu.com 80
GET / HTTP/1.1
Host: ispconfig.org
Referrer: mypage.com
User-Agent: my-browser
在nc命令后,输入红色部分的内容,然后按两次回车,即可从对方获得HTTP Headers内容。

例子7:
聊天
server1上监听1234端口[root@hatest2 tmp]# nc -lp 1234
server2上向server1的1234端口发送消息[root@hatest1 ~]# nc server1 1234
这样,双方就可以相互交流了。使用Ctrl+D正常退出。
更多的使用,查看man手册

nc example.host port 打开与example.host主机的port的一个TCP链接.如果链接失败,不显示任何错误信息,仅仅退出
nc -p 31337 -w 5 example.host 42 打开与example。host主机的42号端口的一个TCP链接。用31337作为源端口,超时链接时间为5秒
nc -u example.host 53 指定协议为udp协议

语  法: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 1234

tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 15543/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 1234 > test.txt #开10.1.1.180:1234端口监听,并将socket传输过来的数据重定向到test.txt文件 test 43 nc
root@10.1.1.43:~#cat test.txt    
root@10.1.1.43:~# nc  10.1.1.180 1234 < test.txt  #连接远程的10.1.1.180,从test.txt的路径从定向到socket,从而将文件传输到远方。
root@10:~# cat test.txt
test 43 nc

4.目录传输

源10.1.1.43 python_program

目的 10.1.1.180

root@10:~# nc -l -p 1234 | tar xzvf -
root@10.1.1.43:~# tar czvf -  python_program | nc 10.1.1.180 1234

python_program/
python_program/1.py
python_program/4.py
python_program/3.py

5.测试UDP端口

root@172.16.211.34:web# netstat -tunlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1111/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 887/dhclient

root@172.16.211.35:~# nc -vuz  172.16.211.34 68

Connection to 172.16.211.34 68 port [udp/bootpc] succeeded!

以上就是什么是Linux系统中nc命令?nc命令的用法详解的详细内容,更多请关注学派吧-其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/2865.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2019年1月1日 上午10:02
下一篇 2019年1月1日 上午10:02

相关推荐

  • 学派吧-详解win2008 IP安全策略下配置一个IP段的写法-windows教程

    这篇文章主要介绍了win2008 IP安全策略下配置一个IP段的写法,需要的朋友可以参考下 可以指定单个 IP 地址或者 IPv4 或 IPv6 地址的子网。若要指定子网,请使用与下面类似的语法输入 IP 地址: 192.168.1.0/24 正斜杠 (/) 后面的数字表示子网掩码中的位数。可能为 32 位。在本示例中,24 表示前三个八进制数是子网地址,最…

    服务器运维 2018年12月10日
    3.0K00
  • 关于Win2008R2服务器配置VPN服务器的图文教程方法-windows教程-学派吧

    这篇文章主要介绍了Win2008 r2服务器配置VPN服务器教程(图文详解),需要的朋友可以参考下 系统环境:WindowsServer2008R2Enterprise(完全安装) 1、配置准备工作1.1、点击“开始”右边的“服务器管理器”1.2、在“服务器管理器”里点击“角色”1.3、在“角色”上点击右键选译“添加角色”,点击“下一步”1.4、在“角色”里…

    服务器运维 2018年12月2日
    3.6K00
  • 介绍linux磁盘冗余阵列实例教程分析-学派吧

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 RAID防止硬盘物理损坏以及增加存储设备的吞吐量,RAID常见的组合有0、1、5、和10 RAID0:至少需要两块硬盘,可以有效提高硬盘的性能和吞吐量,但没有数据的冗余和错误修复能力 将多块硬盘通过硬件或软件的方式串联在一起,成为一个大的卷…

    服务器运维 2019年1月17日
    2.2K00
  • Linux学习三Centos7安装mysql5.7.16数据库的详细教程

    这篇文章主要为大家详细介绍了Linux学习第三篇,Centos7安装mysql5.7.16数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624商祺云-阿里代理、景安代理、西部代理 前言:在linux下安装mysql不如windows下面那么简单,但是也不是很难。本文向大家讲…

    2019年1月4日
    2.6K00
  • 学派吧-Win2008 r2 IIS7.5出现FastCGI进程最近常常失败的解决办法-windows教程

    这篇文章主要介绍了Win2008 r2 IIS7.5出现FastCGI进程最近常常失败。请过一会再尝试此请求的解决方法,需要的朋友可以参考下 错误信息如图所示: 应用程序“PIAOYUN.CC”中的服务器错误Internet Information Services 7.5 错误摘要HTTP 错误 500.0 – Internal Server …

    服务器运维 2018年12月10日
    3.6K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
---------官方优惠叠加渠道折扣:通过我们购买腾讯云/阿里云,价格更低,服务更优。更有专业配置指导与服务。微信同步:18838889666----