千家信息网

Linux中如何使用netccat

发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章将为大家详细讲解有关Linux中如何使用netccat,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。netccat是一个通过TCP/UDP在网络中进行读写数
千家信息网最后更新 2025年11月14日Linux中如何使用netccat

这篇文章将为大家详细讲解有关Linux中如何使用netccat,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

netccat是一个通过TCP/UDP在网络中进行读写数据工具(命令),被称为"瑞士军刀",主要用于调试领域、传输领域甚至黑客攻击领域。利用该工具,可以将网络中一端的数据完整的发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体或者作为用来验证服务器的独立的客户端。

一、Netcat语法

首先使用nc -h 命令查看功能说明:

nc [-46DdhklnrStUuvzC] [-i 间隔] [-p 源端口][-s 源IP地址] [-T 服务类型] [-w 超时时间] [-X 代理协议][-x 代理地址[:端口]] [主机名] [端口[s]]123
关键参数介绍:
  • -4 强制nc只能使用IPv4地址。
  • -6 强制nc只能使用IPv6地址。
  • -h 打印nc帮助信息。
  • -i 间隔 在发送和接收之间指定一个间隔时间。同时会引起连接多个接口时的延迟。
  • -z Zero-I/O mode [used for scanning] netcat使用0-IO,连接成功后立即关闭连接,不进行数据交换
  • -v 指详细输出
  • -n 告诉netcat 不要使用DNS反向查询IP地址的域名

二、Netcat功能举例

nc(netcat)可以打开TCP连接,发送UDP包,监听任意的TCP和UDP端口,扫描端口,处理IPv4和IPv6。nc脚本跟telnet(1)不一样,它把错误信息输出到标准错误输出上而不是输出到标准输出上。

1. 简单聊天

在Server端:

nc -lp 88881

此时默认是TCP连接,在本机Localhost监听8888端口。 在Client端:

nc -nv 127.0.0.1 88881

测试效果如下:

客户端通过TCP连接到服务器8888端口,发送hello,服务器对其回复ok,之后即可互相通信。

//陈硕简单用法://本地服务器监听nc -l 1234//客户端nc localhost 123412345

使用ctrl+C(或D)退出

当然也可以通过telnet命令进行测试: telnet localhost 8888

2)如果是测试局域网两台主机的通信时,客户端连接远程Remote主机的IP地址即可。 命令则为:

nc -nv 113.54.154.215 88881

3) 为了观察一个TCP的标准连接,也就是三次握手四次挥手的内部实现,我们通过tcpdump进行监测一个完整的连接。 当连接本地服务器回环地址时,使用的是lo网卡。

sudo tcpdump -i lo -n tcp port 88881

当连接为远程服务器时,使用的是此时Ubuntu 16.04环境下的ens33网卡。

sudo tcpdump -i ens33 -n tcp port 88881

可以清晰的看到三次握手。

2. 端口扫描

端口扫描经常被系统管理员和黑客用来发现在一些机器上开放的端口,帮助他们识别系统中的漏洞。 nc可以运行在TCP或者UDP模式,默认是TCP,-u参数调整为udp. 假定服务器此时开启了端口8888。

客户端对IP地址为113.54.154.215的8880附近相邻10个端口进行TCP扫描。 客户端命令为:

nc -nvz 113.54.154.215 8880-88901

测试如下:

2)若采用UDP扫描,则服务器和客户端的命令修改如下: 添加-u选项

服务器:nc -ulp 8888客户端:nc -unvz 113.54.154.215 8880-88901234
3. 文件传输

大部分时间中,我们都在试图通过网络或者其他工具传输文件。有很多种方法,比如FTP,SCP,TFTP,NFS等等,但是当你只是需要临时或者一次传输文件,真的值得浪费时间来安装配置一个软件到你的机器上嘛。假设你想要传一个文件test.cpp 从A 到B。A或者B都可以作为服务器或者客户端,

让A作为服务器,B为客户端。将服务器A上的文件下载到客户端B上。 Server:

nc -lp 8888

Client:

nc -n 113.54.154.215 8888  > test.cc1

这里我们创建了一个服务器在A上并且重定向netcat的输入为文件test.cpp,那么当任何成功连接到该端口,netcat会发送file的文件内容。 在客户端我们重定向输出到test.cc,故意是两个文件的后缀不同,此时查看文件的大小属性。

此时客户端将网络接收到的数据重定向为test.cc,如果数据不需要则将其重定向到/dev/null即可。 2)当然我们可以将客户端的文件发送给服务器,此时将test.cc上传给服务器。 Server

nc -lp 8888 > test.cc1

Client

nc -n 113.54.154.215 8888

此时服务器收到的文件重定向到test.cc,我们可以查看此时服务器的文件:

总之,结合管道的用法,使得nc的功能更加强大,比如可以将一个目录压缩为

一个文件,之后通过管道与nc结合,传输该目录。

关于"Linux中如何使用netccat"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

服务 服务器 客户 文件 端口 客户端 地址 传输 命令 输出 数据 主机 时间 网络 测试 功能 工具 标准 端的 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 气象局开展网络安全检查 北京诚信网络技术开发哪个正规 苹果手机自定义定位软件开发 遵义公司软件开发公司 网络安全 违规行为 软件开发状态转移图 数据库唯一性约束程序实现 改数据库表中的某个字段的数据 苹果手机与安卓手机数据库 数据库查询语句课程实践 打patch同步数据库 网络安全管理与监察系统 阿里云服务器更改22端口 护苗网络安全是什么意思 计算机网络技术入学考试 证券期货市场诚信档案数据库怎么查 互联网科技早餐 宿迁大型网络技术厂家价格 数据库triggers 数据库pool 贵州晴风网络技术有限公司 江阴先进封装软件开发面试 我的手机怎么才能连接服务器 jdbc操作数据库的流程 网络技术基础第三次作业 网络安全图画初中 简普科技与中国互联网协会 网上委托软件开发 山西开源软件开发品质售后无忧 工程成本数据库建设
0