linux-网络-nc命令

news2024/9/26 3:23:03

目录

概述

nc命令常用参数

nc命令示例

实现TCP/UDP侦听

作为client端发起TCP/UDP连接

服务器之间传输文件

网络测速


概述

在centos中,nc命令是ncat的软链接。

ncat是一个功能丰富的网络实用程序,是为nmap项目编写的(Network Mapper,最早是Linux下的网络扫描和嗅探工具包)。ncat又被称为Netcat家族分裂出的巅峰之作。Netcat简称nc,在安全界被称为瑞士军刀;而ncat弥补了Netcat的一些不足之处,被叫做21世纪的瑞士军刀。

[root@test ~]# ll /bin/nc
lrwxrwxrwx 1 root root 22 Dec 17 22:37 /bin/nc -> /etc/alternatives/nmap
[root@test ~]# ll /etc/alternatives/nmap 
lrwxrwxrwx 1 root root 13 Dec 17 22:37 /etc/alternatives/nmap -> /usr/bin/ncat

安装

yum install nc -y

nc(ncat)的主要作用

  • 实现TCP/UDP侦听
  • 可以作为client端发起TCP/UDP连接
  • 服务器之间传输文件(不需要密码)
  • 网络测速

网上很多博客还提到了端口扫描,其实centos yum安装的nc命令时ncat,不支持一段范围的端口扫描。只有netcat命令才支持一段范围的端口扫描。

nc命令常用参数

-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。

nc命令示例

实现TCP/UDP侦听

这对于测试两台服务器的网络连通性很有用。比如:公有云平台上,对服务器设置了安全组策略,允许其他服务器访问某个端口。但此时服务器上还没有对应的服务监听着端口,无法进行测试。则可以使用nc命令侦听端口,进行临时测试。

TCP侦听

[root@test ~]# nc -l 33333

[root@test ~]# netstat -nltp | grep 33333
tcp        0      0 0.0.0.0:33333           0.0.0.0:*               LISTEN      1958/nc             
tcp6       0      0 :::33333                :::*                    LISTEN      1958/nc

UDP侦听

[root@test ~]# nc -l -u 33333

[root@test ~]# netstat -nlup | grep 33333
udp        0      0 0.0.0.0:33333           0.0.0.0:*                           2232/nc             
udp6       0      0 :::33333                :::*                                2232/nc

作为client端发起TCP/UDP连接

发起TCP连接

成功

[root@test ~]# nc -zv 192.168.1.1 8080
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.122.2.91:8080.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

失败

[root@test ~]# nc -zv 192.168.1.1 2222
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection refused.

发起UDP连接

成功

[root@test ~]# nc -zuv 192.168.1.1 33333
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.122.2.91:33333.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds.

失败

[root@test ~]# nc -zuv 192.168.1.1 2222
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.122.2.91:2222.
Ncat: Connection refused.

服务器之间传输文件

在实际工作中,很多情况下我们没有root密码。当我们要简单处理个问题,想要传输文件时常常令人抓狂。只是一个小文件,而要去考虑做免密钥;或者是新建一个用户来临时传输文件。

使用nc命令就可以避开这个烦恼,一些小的临时文件,直接通过网络传输,并且不需要密码。

接收端

nc -l 33333 > receive.txt

发送端

nc 10.122.2.91 33333 < send.txt

此方法不仅可以传输简单的文本文件、二进制文件。如果想要传输目录时,将目录制作成压缩包,也可以通过网络传输。

网络测速

测速接收端

[root@test01 ~]# nc -l 33333 > /dev/null

测速发送端

[root@test02 ~]# nc 10.122.2.91 33333 < /dev/zero

接收端dstat网络流量

发送端dstat网络流量

 

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

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

相关文章

12个python超强学习网站!

一、python学习网站 1 CSDN 特点&#xff1a;从免费视频到入门项目&#xff0c;从入门到进阶&#xff0c;学习视频应有尽有&#xff0c;还有Python学习社区&#xff0c;良好的学习和沟通氛围&#xff01; 2 Python123 地址&#xff1a;python123 特点&#xff1a;北京理工…

适合零基础人群学习的Python入门教程,快来学习吧

适合零基础人群学习的Python入门教程学什么&#xff1f;小编为大家准备的Python学习教程&#xff0c;课程主要讲解&#xff1a;Python核心编程、Linux基础、前端开发、Web开发、爬虫开发、人工智能等内容。 对于初学者想更轻松的学好Python开发&#xff0c;爬虫技术&#xff0c…

个人博客 HTML个人介绍网页 学生个人网页设计作品 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人网站作业设计

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

LeetCode刷题日记之栈与队列II

1.有效的括号 题目描述 解题思路 1.定义一个辅助栈stack来存放字符串&#xff0c;再定义一个以符号最为键、值的对象obj 2.循环遍历字符串&#xff0c;判断栈顶元素对应的key在obj中的值是否等于当前遍历值s[i]&#xff0c;如果等于则直接弹栈&#xff0c;不等于则将s[i]值推…

数据结构---判断链表是否有环

判断链表是否有环判断链表是否有环方法1方法2JAVA实现问题扩展1问题扩展2判断链表是否有环 有一个单向链表&#xff0c;链表中有可能出现“环”&#xff0c;就像下图这样。那么&#xff0c;如何用程序来判断该链表是否为有环链表呢&#xff1f; 方法1 创建一个以节点ID为Ke…

大数据Kudu(九):Spark操作Kudu

文章目录 Spark操作Kudu 一、​​​​​​​​​​​​​​添加Maven依赖

【DELM回归预测】基于灰狼算法改进深度学习极限学习机GWO-DELM实现数据回归预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

网络请求与数据提取-urllib库

关于网络爬虫&#xff0c;其实就是模拟浏览器向网站服务器发送请求&#xff0c;然后从响应的结果中提取出需要的数据。那么&#xff0c;该如何实现这一流程了&#xff1f;对于初学者来说&#xff0c;可能都不知道该如何入手&#xff0c;学习爬虫时需不需要了解HTTP、TCP、IP 层…

入门:环境安装与部署

容器技术入门 随着时代的发展&#xff0c;Docker也逐渐走上了历史舞台&#xff0c;曾经我们想要安装一套环境&#xff0c;需要花费一下午甚至一整天来配置和安装各个部分&#xff08;比如运行我们自己的SpringBoot应用程序&#xff0c;可能需要安装数据库、安装Redis、安装MQ等…

springboot常用语法库

今天与大家分享springboot常用语法库的基本语法。如果有问题&#xff0c;望大家指教。 目录 1. freemarker是什么 1.1 优点 2. springboot整合freemarker 2.1 pom.xml 2.2 项目配置文件 2.3 Controller 2.4 index.ftl 2.5 常用功能演示 1. freemarker是什么 FreeMarke…

OPENGL ES 2.0 知识串讲 (3)——SHADER的功能GLSL语法(I)

更多图形知识请关注我的公众号&#xff1a; 在第一节中,我们介绍过 OpenGL ES 与 GLSL 的主要功能,就是往绘制 buffer 上绘制图片。其中虽然 GLSL 制作的 shader 是穿插在 OpenGL ES 中使用,但是我们在流程中可以看出来,两大 shader(vertex shader 和 fragment shader)相对于 O…

大学毕业生就业信息管理平台

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 系统在功能设计充分利用信息化技术和互联网的优势&#xff0c;建立一个以浏览器为用户工作界面&#xff0c;实现跨 平台…

Hive电子商务消费行为分析项目

文章目录数据说明环境准备项目代码上传数据文件并创建数据表数据清洗数据可视化客户分析交易分析门店分析评价分析数据说明 某零售企业的门店最近一年收集的数据 customer_details.csv:客户信息 transaction_details.csv:交易信息 store_details.csv:门店信息 store_review.c…

第1章 基础知识简介

&#x1f31e;欢迎来到C语言的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f320;本阶段属于练气阶段&#xff0c;希望各位仙友顺利完成…

【机器码】原码、反码、补码的学习

目录 让我们看看这三个码是什么 原码、反码、补码各自的范围 补码的加减运算 根据自己学习做的笔记来记录一下 原码、反码、补码&#xff0c;巩固自己的学习成果。 有符号数是由机器数和真值组合而成 真值&#xff1a;数值数据的实际值&#xff0c;带有-符号 …

RL 实践(3)—— 悬崖漫步【QLearning Sarsa 各种变体】

本文介绍如何用 QLeaning 系列和 Sarsa 系列表格方法解经典的悬崖漫步 (Cliff Walking) 问题完整代码下载&#xff1a;4_[Gym Custom] Cliff Walking (Q-Learning series and Sarsa series) 文章目录1. 悬崖漫步环境 (Cliff Walking)2. 使用 TD 方法求解2.1 Sarsa2.1.1 Sarsa 原…

kali 安装AWVS [赠附件]

前言 1.AWVS简介 AWVS&#xff08;Acunetix Web Vulnerability Scanner&#xff09;是一款知名的网络漏洞扫描工具&#xff0c;通过网络爬虫测试网站安全&#xff0c;检测流行的Web应用攻击&#xff0c;如跨站脚本、sql 注入等。据统计&#xff0c;75% 的互联网攻击目标是基于…

项目中遇到的错误

项目中遇到的错误swagger2 和 swagger3swagger 文档的注解springboot 版本问题SQL 关键字异常Apifox 的使用集中版本管理swagger2 和 swagger3 swagger2和 swagger3 需要导入的依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfo…

LabVIEW FPGA中可重入和非可重入子VI的区别

LabVIEW FPGA中可重入和非可重入子VI的区别 LabVIEW FPGAVI默认是可重入的。如果多次调用重入VI&#xff0c;则每个实例会占用FPGA器件的单独硬件资源。如果使用非重入VI&#xff0c;无论是并行多次调用还是仅调用一次&#xff0c;都只会创建一个硬件实例并将其用于该VI。 ​…

最常用的 9 个JavaScript 函数与示例

输出内容才能更好的理解输入的知识 前言&#x1f380; 如果你想深入图形、可视化等领域&#xff0c;那么肯定离不开 canvas、webgl、three.js 等一系列技术。在这众多技术中&#xff0c;选择canvas2d为基础来入门是一个不错的选择。 canvas在动画、可视化、图片处理等领域有着…