8 个实用的 Linux netcat 命令示例

Linux nc(Netcat)命令详解:用于调试和测试网络连接 nc(Netcat)是一个非常强大且灵活的工具,广泛用于网络调试、端口扫描、文件传输等任务。它支持多种功能,包括 TCP 和 UDP 连接、端口监听、文件传输等,适用于各种网络测试和调试场景。通过简单的命令行操作,nc为系统管理员和网络工程师提供了一个高效的网络工具。 阅读详情

英文原文:thegeekstuff.com,翻译:oschina

Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字。

这里我们将通过一些实例来学习 netcat 命令。

1. 在服务器-客户端架构上使用 Netcat

netcat 工具可运行于服务器模式,侦听指定端口

$ nc -l 2389

然后你可以使用客户端模式来连接到 2389 端口:

$ nc localhost 2389

现在如果你输入一些文本,它将被发送到服务器端:

$ nc localhost 2389
HI, oschina

在服务器的终端窗口将会显示下面内容:

$ nc -l 2389
HI, oschina

2. 使用 Netcat 来传输文件

netcat 工具还可用来传输文件,在客户端,假设我们有一个 testfile 文件:

$ cat testfile
hello oschina

而在服务器端有一个空文件名为 test

然后我们使用如下命令来启用服务器端:

$ nc -l 2389 > test

紧接着运行客户端:

cat testfile | nc localhost 2389

然后你停止服务器端,你可以查看 test 内容就是刚才客户端传过来的 testfile 文件的内容:

$ cat test
hello oschina

3. Netcat 支持超时控制

多数情况我们不希望连接一直保持,那么我们可以使用 -w 参数来指定连接的空闲超时时间,该参数紧接一个数值,代表秒数,如果连接超过指定时间则连接会被终止。

服务器:

nc -l 2389

客户端:

$ nc -w 10 localhost 2389

该连接将在 10 秒后中断。

注意: 不要在服务器端同时使用 -w 和 -l 参数,因为 -w 参数将在服务器端无效果。

4. Netcat 支持 IPv6

netcat 的 -4 和 -6 参数用来指定 IP 地址类型,分别是 IPv4 和 IPv6:

服务器端:

$ nc -4 -l 2389

客户端:

$ nc -4 localhost 2389

然后我们可以使用 netstat 命令来查看网络的情况:

$netstat| grep 2389
tcp        0      0 localhost:2389          localhost:50851         ESTABLISHED
tcp        0      0 localhost:50851         localhost:2389          ESTABLISHED

接下来我们看看IPv6 的情况:

服务器端:

$ nc -6 -l 2389

客户端:

$ nc -6 localhost 2389

再次运行 netstat 命令:

$netstat| grep 2389
tcp6       0      0 localhost:2389          localhost:33234         ESTABLISHED
tcp6       0      0 localhost:33234         localhost:2389          ESTABLISHED

前缀是 tcp6 表示使用的是 IPv6 的地址。

5. 在 Netcat 中禁止从标准输入中读取数据

该功能使用 -d 参数,请看下面例子:

服务器端:

$ nc -l 2389

客户端:

$ nc -d localhost 2389
Hi

你输入的 Hi 文本并不会送到服务器端。

6. 强制 Netcat 服务器端保持启动状态

如果连接到服务器的客户端断开连接,那么服务器端也会跟着退出。

服务器端:

$ nc -l 2389

客户端:

$ nc localhost 2389
^C

服务器端:

$ nc -l 2389
$

上述例子中,但客户端断开时服务器端也立即退出。

我们可以通过 -k 参数来控制让服务器不会因为客户端的断开连接而退出。

服务器端:

$ nc -k -l 2389

客户端:

$ nc localhost 2389
^C

服务器端:

$ nc -k -l 2389

7. 配置 Netcat 客户端不会因为 EOF 而退出

Netcat 客户端可以通过 -q 参数来控制接收到 EOF 后隔多长时间才退出,该参数的单位是秒:

客户端使用如下方式启动:

nc  -q 5  localhost 2389

现在如果客户端接收到 EOF ,它将等待 5 秒后退出。

8. 使用 Netcat 来处理 UDP 协议

netcat 默认是使用 TCP 协议,但也支持 UDP,可使用 -u 参数来启用 UDP 协议通讯。

服务器端:

$ nc -4 -u -l 2389

客户端:

$ nc -4 -u localhost 2389

这样客户端和服务器端都使用了 UDP 协议,可通过 netstat 命令来查看:

$netstat| grep2389
udp        0      0 localhost:42634         localhost:2389          ESTABLISHED

Linux系统中与计算机网络相关的命令和文件汇总(ping、telnet、curl、netstat、lsof等) 重启网络服务的命令(CentOS 7和8)ip add:查看当前主机的IP地址(或者输入 ip a 命令也行)ip route:查看默认网关(查看默认网关还可以使用 route -n 或 netstat -rn 命令)ifconfig:配置网络或显示当前网络接口状态,ifconfig命令可以查看到IP地址、子网掩码、广播地址、MAC地址等信息 阅读详情

相关推荐

Netcat(nc)工具使用

Netcat(简称 nc)是一个功能强大的 命令行网络工具,被称为 “网络瑞士军刀”,支持 TCP/UDP 协议,可用于 端口扫描、数据传输、端口监听、代理转发、反弹 Shell 等多种用途。几乎所有 Linux 发行版都支持,是网络管理员、渗透测试人员和开发者的必备工具。

rufeike的博客 2247

Linux网络命令:网络工具netcat详解

​Netcat(也称为nc或netcat-openbsd)是一个非常强大和灵活的网络工具,它主要用于创建TCP或UDP网络连接。Netcat可以作为一个简单的终端程序,也可以作为一个强大的网络诊断、监控和攻击工具。在我们测试工作中可以经常用到这个工具。可以通过EPEL仓库来安装和卸载,可以通过yum和DNF来安装;通过nc可以连接到网络主机的特定端口、监听端口、传输文件等,可以用于各种网络活动,包括渗透测试。也可以用于各种网络任务,从诊断到安全测试。

weixin_70208651的博客 1万+

Enterprise Architect 中文经典教程

本文使用到的EA工程文件下载 一、Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,...

2万+

Linux 中 Netcat 工具的使用

Netcat(nc)是 Linux 类系统上非常实用的网络工具,它能在网络中读写数据,如果配合使用其他工具和重定向,可以实现不少强大的功能。

谈谈1974 3930

基于ESP32-S3与模块化设计的立创桌面充电站:从硬件架构到Web控制实战

本文详细介绍了基于ESP32-S3与模块化设计的立创桌面充电站项目,涵盖从硬件架构到Web控制的全流程实战。项目采用模块化设计,支持自由组合快充模块,并通过ESP32-S3实现智能监控,用户可通过本地网页实时查看各接口电压、电流与功率数据。文章重点解析了基板、连接板与充电模块三大核心部件的设计,特别是大电流PCB的“开窗贴铜”处理技巧,并提供了固件刷写与Web控制面板的配置指南。

weixin_36122351的博客 293

XGBoost的简单安装及入门使用

XGBoost安装及简单入门 XGBoost支持多种操作系统,如Windows, Linux, MacOS等,并支持多种语言版本,如Python, R, Scale, Java等。XGBoost的安装方式一般有两种,一种是直接通过pip安装(适合用于Python),另外一种是通过源码编译安装 1、通过pip安装 通过pip安装Python包既简单又方便,只需执行如下的命令: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xgboost 使用

qq_41513230的博客 3万+

8个实用的Linux netcat命令示例

Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字。 这里我们将通过一些实例来学习 netcat 命令。 1. 在服务器-客户端架构上使用 Netcat netcat 工具可运行于服务器模式,侦听指定端口 1 $ nc -l 2389

天元喜羊羊的博客 787

论文学习| PoseDiffusion: 通过扩散辅助的束调整解决姿态估计问题

解决的问题:相机姿态估计,这是计算机视觉中的一个经典问题。提出的方法:一种新的方法,PoseDiffusion,它将Structure from Motion(SfM,从运动中构建结构)问题整合到概率扩散框架中。优势模拟捆绑调整的迭代过程。整合来自极线几何的几何约束。在具有挑战性的场景中(如视角稀疏、基线宽的情况)表现良好。能够为多张图片预测内外参。结果:在现实世界数据集上,PoseDiffusion超越了经典的SfM管道和学习型方法,在不同数据集上具有跨数据集的泛化能力,无需进一步训练。

麻辣小香郭的博客 1990

Linux重启ubeanos网络命令,8 个实用的 Linux netcat 命令示例

Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字。这里我们将通过一些实例来学习 netcat 命令。1. 在服务器-客户端架构上使用 Netcatnetcat 工具可运行于服务器模式,侦听指定端口然后你可以使用客户端模式来连接到 2389 端口:现在如果你输入一些文本,它将被发送到服务器端:...

weixin_33128703的博客 616

2026年沐曦集成电路数字IC笔试试卷带答案

本文摘要: 这是一份数字IC设计笔试模拟题,包含单选题、波形分析、多选题和代码设计题。重点考察ASIC设计流程(如逻辑综合将RTL转为门级网表)、时序分析(建立时间余量计算)、跨时钟域处理(格雷码应用)、复位机制、状态机设计等核心知识点。涉及沐曦特色考点如GPU架构(SIMT模型)、国产GPU芯片(曦云C系列)及MXMACA软件栈。代码题要求实现50%占空比三分频电路,综合考察Verilog设计能力。试题强调PPA优化、低功耗技术等工程实践要点,覆盖数字IC前端设计全流程核心内容。(149字)

Open 259

利用ADS建立MIPI D-PHY链路仿真流程

由于MIPI D-PHY的速率并不算高,因此,PCB设计难度通常不大,主要做好差分线的等长、阻抗的连续性、端口处的阻抗优化以及控制好走线的长度,拿到满意的结果还是较为轻松的,最后,建立流程化的仿真工程文件,可以保存为模板,方便日后的设计复用,非常方便。

一只豌豆象的博客 3571

ceb 抽取 linux 工具,8 个实用的 Linux netcat 命令示例

Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字。这里我们将通过一些实例来学习 netcat 命令。1. 在服务器-客户端架构上使用 Netcatnetcat 工具可运行于服务器模式,侦听指定端口$ nc -l 23892. 使用 Netcat 来传输文件netcat 工具还可用来传输文件,...

weixin_29159613的博客 265

020、Sensor 供电设计:AVDD、DVDD、IOVDD 的上电时序与纹波要求

本文总结了图像传感器(Sensor)供电设计中的关键要点与常见问题:1. 三路供电特性差异:AVDD(模拟供电)对纹波最敏感(通常<30mVpp),DVDD需应对大电流瞬态变化,IOVDD需满足MIPI接口电压稳定要求。2. 上电时序至关重要,应遵循"模拟→数字→IO"的启动顺序,时序偏差可能导致初始化失败。3. 纹波控制需合理选择电容组合(如10μF+0.1μF),注意布局走线及电容ESR/ESL特性。4. 调试建议使用示波器多通道测量时序和纹波,重点关注传感器启动瞬间的电源特性。5. 经验教训包括预留设

sundong_81的博客 527

8 个实用的Linux netcat 命令示例

原文链接 这里我们将通过一些实例来学习 netcat 命令。 1. 在服务器-客户端架构上使用 Netcat netcat 工具可运行于服务器模式,侦听指定端口 $ nc -l 2389 然后你可以使用客户端模式来连接到 2389 端口: $ nc localhost 2389 现在如果你输入一些文本,它将被发送到服务器端: $ nc localhost 2389 HI, osc...

weixin_34174322的博客 108

MIKE水动力笔记3_岸线及水深数据之根据遥感影像绘制岸线的方法

通过遥感影像自己绘制岸线来制作岸线数据,这种方法获取的岸线及水深数据精度很高,且可以根据自己的研究需要进行灵活处理。

晏长街的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: centos 6.4更改为163源
下一篇: 对 Linux 新手非常有用的20个命令
浪里一淘
博客等级 码龄15年 19粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值