专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

什么是Linux系统中nc命令?nc命令的用法详解

来源:小易整编  作者:小易  发布时间:2024-03-21 07:48
摘要:这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

这篇文章主要介绍了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 “( nc -l 10003 > destination 2>/dev/null & )” && cat source | nc www.freetstar 10003 && 前边ssh登录到远程主机www.freetstar上,用nc命令打开本地的10003端口,成为后台进程 &&后边,在本地机器上打开source文件,并将其重定向到www.freetstar的10003号端口,也就是让远程www.freetstar主机10003号端口接收source文件 例子3: 使用nc扫描linux下的特定端口 nc -v -z host.example 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 例子6: 模拟HTTP Headers [root@hatest1 ~]# nc www.huanxiangwu 80 GET / HTTP/1.1 Host: ispconfig.org Referrer: mypage 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 ncroot@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.txttest 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.pypython_program/4.pypython_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.hkm168.com/jiqiao/1151667.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • 用U盘轻松实现一键重装系统的小白装机教程

    用U盘轻松实现一键重装系统的小白装机教程

    在现代社会,电脑已经成为人们生活中不可或缺的工具。然而,由于各种原因,我们有时候需要重装电脑系统来解决一些问题或提升性能。但是,对于一些小白用户来说,重装系统可能是一项困难的任务。因此,本文将介绍一款小白一键重装系统的u盘装机教程,帮助小白...

  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • c语言是什么意思

    c语言是什么意思

    一:c语言是什么意思C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言,以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低...

  • skype是什么软件

    skype是什么软件

    skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话,它使用全新的p2p【对等】技术将您与其他skype用户相连接。Skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话。Sky...

  • 计算机按工作原理可分为什么

    计算机按工作原理可分为什么

    计算机按工作原理可分为数字计算机和模拟计算机。数字式电子计算机是当今世界电子计算机行业中的主流,其内部处理的是一种称为符号信号或数字信号的电信号,它有着运算速度快、运算精度高、通用性强等特点。模拟计算机是根据相似原理,用一种连续变化的模拟量...

  • 什么是电子版文件

    什么是电子版文件

    电子版文件是把纸质文档以计算机软件,如word、excel、pp、cad、photoshop等软件编辑出来,可以通过邮件、u盘、网络或其他传送方式传送的文件。本文操作环境:Windows7系统,DellG3电脑。电子版文件是把纸质文档以计...

  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • 计算机的三类总线分别是什么?

    计算机的三类总线分别是什么?

    计算机的三类总线分别是:控制总线、地址总线和数据总线。控制总线用于将微处理器控制单元的信号,传送到周边设备;地址总线用来指定在ram之中储存的数据的地址;数据总线用于在cpu与ram之间来回传送需要处理或是需要储存的数据。总线(Bus)是计...

  • 周排行
  • 月排行
  • 年排行

精彩推荐