Linux 中nc指令的使用总结

news2024/10/7 12:17:49

  • nc指令概述
  • 用法一:端口扫描
  • 用法二:命令行中发送和接收数据
  • 用法三:建立双方通信

nc指令概述

nc 是 Linux 系统中的 netcat 命令之简称,它是一个强大的网络工具,可以用于创建 TCP/UDP 套接字连接。常见的其用法模板可定位:nc [选项] [地址] [端口],它的用法如下图所示:

请添加图片描述

知道你英语差了一丢丢,小鸽鸽给你准备了中文版:

OpenBSD的netcat(Debian版本为1.206-1ubuntu1)的使用方法: 用法:nc [选项] [目标] [端口] 选项:
-4 使用IPv4
-6 使用IPv6
-b 允许广播
-C 发送CRLF作为行结束符
-D 启用调试套接字选项
-d 从stdin分离
-F 传递套接字fd
-h 此帮助文本
-I length TCP接收缓冲区长度
-i interval 发送行/扫描端口的延迟间隔
-k 保持传入套接字开启以进行多个连接
-l 监听模式,为了传入连接
-M ttl 发送的TTL /跳限
-m minttl 最小接收TTL/跳限
-N 在stdin出现EOF后关闭网络套接字
-n 禁止名称/端口解析
-O length TCP发送缓冲区长度
-P proxyuser 代理认证的用户名
-p port 为远程连接指定本地端口
-q secs 在stdin出现EOF后延迟后退出
-r 随机化远程端口
-S 启用TCP MD5签名选项
-s source 本地源地址
-T keyword TOS值
-t 回答TELNET协商
-U 使用UNIX域套接字
-u UDP模式
-V rtable 指定备用路由表
-v 详细信息
-W recvlimit 接收一定数量的数据包后终止
-w timeout 进行连接和最终网络读取的超时时间
-X proto 代理协议:“4”,“5”(SOCKS)或"connect"
-x addr[:port] 指定代理地址和端口
-Z DCCP模式
-z 零I / O模式[用于扫描]
端口号可以是单个或范围:lo-hi[包括]

用法一:端口扫描

语法:nc -vz localhost m-n
端口扫描既可以是单个端口也可以是多个端口,以上指令扫描的是m-n之间端口号,来验证这些端口中哪些是可通的、是可以连接的、开放的。此指令是想尝试连接到本地的 m 到 n 端口。对于每个成功的连接,它都会打印一个消息并退出。如果端口是关闭的或不可达的,它将不打印任何消息。使用 -vz 选项可以显示详细的输出并仅显示开放的端口。

😙首先通过netstat -an指令列出某设备或者说IP上所有开放的端口号

请添加图片描述

发现192.168.149.129的138端口号是开放的,我们通过指令nc -vz 来扫描130-145之间的所有端口号,除了138端口之外所有都显示connection refused

请添加图片描述

用法二:命令行中发送和接收数据

通过 nc,你可以在命令行中发送和接收数据,这在调试网络应用或进行一些简单的网络通信时非常有用。

首先,我们需要打开一个nc会话来监听我们的端口。这可以通过以下命令完成:nc -l 138

在这个命令中,“-l”参数表示“listen”138是我们想要监听的端口号。当我们运行这个命令时,nc会在指定端口上监听,等待接收数据。

然后,我们可以使用另一个nc命令从另一台机器向上述nc会话发送数据。假设你的Linux机器的IP是192.168.149.129,你可以在另一台机器上运行以下命令:

echo "Hello, World!" | nc 192.168.149.129 138

在这个命令中,“echo “Hello, World!””会产生“Hello, World!”这个字符串,然后通过管道将这个字符串传递给nc命令。nc命令会将这个字符串发送到你之前监听的192.168.149.129138端口。

当你发送数据后,你之前监听的nc会话应该能接收到这些数据,并在命令行中显示出来。

同样地,你也可以在nc会话中向外部主机发送数据。例如,你可以在nc会话中输入“Hello, World!”并按回车键,这将向与你nc会话连接的任何主机发送这个字符

下图坐左边显示是接收端,将消息“duzhongbo”发送到IP的138端口上,右边一直在监听138这个端口,一旦消息发过来便会立即接收。

请添加图片描述

用法三:建立双方通信

通过在一个终端上监听某端口号:nc -l port

然后在另一个终端上连接该端口号: nc IP Port

之后便可双方建立通信链路
请添加图片描述

总结:其实对于nc指令的用法来讲就是连个,一是进行端口扫描检查,二是利用其建立不同终端见的通信

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

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

相关文章

目标检测中生成锚框函数详解

将设一张图片,宽和高为2,2 X torch.rand(size(1,3,2,2)) Y generate_anchors(X,sizes[0.75,0.5,0.25],ratios[1,2,0.5])锚框中心点的设置 # 为每个像素可以生成 nm-1个锚框,整个图像生成 wh(nm-1) def generate_anchors(data,sizes,ratios): # 书上的…

重磅预告 |第十二届中国智能产业高峰论坛9月16日在昌开幕,集团董事长李火亮任专题联席主席,出席本次活动

在这个数字化、智能化社会经济高速迭代的时代,每一次技术的进步都预示着一个全新的未来。在此背景下第十二届中国智能产业高峰论坛即将拉开帷幕。9月16日-9月18日高峰论坛在中国南昌举行,拓世科技集团董事长李火亮将亲身出席本次活动,与众多领…

解决:AD装配输出拾放文件出现闪退问题

PCB在装配输出过程中,需要导出拾放文件,但是今天每次执行这个过程,AD软件就会直接闪退。 重启AD把项目管理器中没有关掉的一系列乱七八糟文件手动关闭关闭AD软件再次重启AD,打开项目重新导出。

YOLOv5 加入SE注意力机制

步骤1:在common.py中添加SE模块 class SE(nn.Module): def __init__(self, c1, c2, r16): super(SE, self).__init__() self.avgpool nn.AdaptiveAvgPool2d(1) self.l1 nn.Linear(c1, c1 // r, biasFalse) self.relu nn.ReL…

付费咨询擅长领域

曾获中国电机工程学报优秀审稿专家,控制与决策审稿专家,系统工程与电子技术审稿专家,计算机科学审稿专家,Mechanical System and Signal Processing审稿专家。 擅长现代信号处理(小波分析类,模态分解类&…

SAP 自定义权限对象开发与使用

如何自定义一个权限对象,然后分配到对应的权限角色中,进行用户权限的控制? 具体实现步骤如下: 1. 创建数据元素 进入事务码: SE11 2. 创建权限字段 进入事务码SU20 3. 创建权限对象类以及权限对象 事务码&#xf…

redis集群的维护(redis-cli --cluster 命令用法)

目录 前言 1、 --cluster create 创建集群 2、--cluster check 检查集群 3、--cluster info 查看集群 4、--cluster fix 修复集群 5、--cluster rehard 迁移槽位 6、 --cluster rebalance 平衡集群 7、 --cluster add-node 集群扩容 8、--cluster del-node …

实现读写分离(MySQL主从数据库)

读写别离(Read/Write Splitting)。 1.原理: 让主数据库(master)处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库(slave)处理SELECT查询操作。 …

论文复制ChatGPT按钮被发表,撤回后再曝多个类似案例;Midjourney 生成大师级的人像

🦉 AI新闻 🚀 论文复制ChatGPT按钮被发表,撤回后再曝多个类似案例 摘要:一篇物理论文复制了ChatGPT按钮内容,经过两个月同行评审并在杂志上发表。这一现象被知名打假人发现后,发表商决定撤回该论文。此外…

doccano 文本标注工具使用

最近在做面向大模型的文本标注工作,涉及到多人协同的问题,因此用到了doccano工具。 这个工具可以使用docker进行安装,安装之后的启动也都比较简单。 关于基础使用(例如管理员登录、新建任务、上传数据集等)&#xff…

推荐 4 个本周 火火火火 的开源项目

本期推荐开源项目目录: 1. 一个集成了主流 AI 大模型的 APP 2. 模拟人类行为的小镇 3. 离线 OCR 软件 4. 流程图编辑框架 01 一个集成了主流 AI 大模型的 APP 该开源项目集成了主流的大语言模型、绘图模型,基于Flutter开发,支持问答聊天、文生…

10个值得收藏的3D任务角色下载网站

每个人都喜欢免费的东西。 无论是免费的 3D 角色还是游戏资产,我们都喜欢它们。 以下是可以为你的游戏获取免费 3D 角色的前 10 个网站的列表。 你可以将它们用于多种用途,例如 3D 打印或动画剪辑。 如果需要将下载的3D模型转换为其他格式,可…

科技资讯|苹果虚拟纸可在Vision Pro中为广告、书籍等提供MR内容和动画

近日,美国专利商标局正式授予苹果一项与虚拟纸张相关的专利。这是与虚拟纸张这项发明相关的第二项专利,鉴于苹果 Vision Pro 将于明年上市,那么我们离苹果实现虚拟纸张的发明又近了一步。 虚拟纸张将能够包含 2D、3D 和动画等 MR内容&#…

移远通信一站式Matter智能照明/电工解决方案,让家居生活互联互通更便捷

从原始时期的钻木取火,到19世纪爱迪生发明电灯,人类对于“光亮”的追求从未停止。而伴随着社会经济的发展,人们对于照明等家居生活的追求开始从“物质层面”逐步向“精神层面”转变,智能家居成为了当下社会智能技术走向大众的重要…

crAPI靶场学习记录

靶场搭建 [靶场下载地址](我fork了一份) docker安装,笔者是用的wsldocker. [lab0:**初始账户 **] 注册一个账户,邮箱为[APIqq.com],密码为Admin123 登陆后访问对应IP的8025端口,接收邮件获取车辆信息。 [lab1:**访问其它用户车…

电脑ip地址在哪里看?很简单,3个方法!

在网络连接的世界中,iP地址是一个至关重要的标识,它帮助设备在互联网上进行通信。无论是在家庭网络还是企业环境中,了解如何查看电脑的iP地址都是必不可少的技能。本文将详细介绍电脑ip地址在哪里看的3个方法,帮助您轻松获取这一重…

c++深拷贝、浅拷贝

浅拷贝&#xff1a;简单的赋值拷贝包含指针拷贝 #include <iostream> #include <string.h> using namespace std; //深拷贝、浅拷贝 //浅拷贝&#xff1a;简单的赋值拷贝包含指针拷贝 //深拷贝&#xff1a;在堆区重新申请的空间&#xff0c;进行拷贝操作class Per…

《Java极简设计模式》第06章:适配器模式(Adapter)

作者&#xff1a;冰河 星球&#xff1a;http://m6z.cn/6aeFbs 博客&#xff1a;https://binghe.gitcode.host 文章汇总&#xff1a;https://binghe.gitcode.host/md/all/all.html 源码地址&#xff1a;https://github.com/binghe001/java-simple-design-patterns/tree/master/j…

flex 布局:一行固定个数,超出换行(流式布局)

一、flex基础 设置在父容器上的属性&#xff1a;display&#xff1a;flex&#xff0c;align-items(交叉轴对齐方式)&#xff0c;justify-content(主轴对齐方式)&#xff0c;flex-wrap(换行)。 设置在子容器上的属性&#xff0c;通过 flex: 1&#xff0c;简写了 flex-grow、fl…

2023最新计算机信息管理毕设选题分享

文章目录 0 前言1 java web 管理系统 毕设选题2 java web 平台/业务系统 毕设选题3 游戏设计、动画设计类 毕设选题 (适合数媒的同学)4 算法开发5 数据挖掘 毕设选题6 大数据处理、云计算、区块链 毕设选题7 网络安全 毕设选题8 通信类/网络工程 毕设选题9 嵌入式 毕设选题10 开…