当前位置: 首页 > news >正文

探究网络工具nc(netcat)的使用方法及安装步骤

目录

🐶1. 什么是nc(netcat)?

🐶2. nc(netcat)的基本使用方法

2.1 🥙使用 nc 进行端口监听

2.2 🥙使用 nc 进行端口扫描

2.3 🥙使用 Netcat 进行文件传输

🐶3. Linux 系统上安装 Netcat

3.1 🥙使用包管理工具安装 

 3.2 🥙从源代码构建和安装

🐶4. Netcat在实时数据处理中的使用

🥙4.1 安装Netcat

🥙4.2 启动Netcat服务器

🥙4.3 编写Flink程序

🥙4.4 运行Flink程序


网络工具是在计算机网络中进行网络通信和数据传输的必备工具,其中 nc 和 Netcat 是两个常用的工具。本文将探讨 nc 和 Netcat 的用途、基本使用方法以及在 Linux 系统上的安装步骤。

🐶1. 什么是nc(netcat)

Netcat(nc)是一个用于网络调试和控制的命令行工具,可以在网络上发送和接收数据。它是一种多功能的工具,可以用于创建各种类型的网络连接,包括TCP和UDP连接。在实时数据处理中,Netcat通常用于创建数据源或数据接收器,以便测试和验证数据流。

🐶2. nc(netcat)的基本使用方法

2.1 🥙使用 nc 进行端口监听
nc -lk 8899
2.2 🥙使用 nc 进行端口扫描
nc -vz example.com 80
2.3 🥙使用 Netcat 进行文件传输
# 在接收端启动监听
nc -l 8899 > received_file.txt# 在发送端将文件发送到接收端
nc -w 3 <file_path> <receiver_ip> 8899

🐶3. Linux 系统上安装 Netcat

3.1 🥙使用包管理工具安装 
  • Debian/Ubuntu:
sudo apt-get update
sudo apt-get install netcat
  •  Red Hat/CentOS:
sudo yum install nc
 3.2 🥙从源代码构建和安装

您可以从 Netcat 官方网站 https://github.com/vinsworldcom/netcat/releases 下载源代码,然后按照 README 文件中的说明进行构建和安装。

🐶4. Netcat在实时数据处理中的使用

在实时数据处理中,Netcat(简称nc)是一个常用的工具,可用于创建一个TCP或UDP服务器,以便将数据发送到Apache Flink等流处理框架进行实时处理。下面是使用Netcat和Flink进行实时数据处理的简要讲解:

🥙4.1 安装Netcat

首先确保你的系统中已经安装了Netcat。如果没有安装,可以通过包管理器(如apt、yum等)来安装。

🥙4.2 启动Netcat服务器

使用以下命令在本地启动一个Netcat服务器,监听指定端口(例如8899):

nc -lk 8899

这将在本地启动一个监听端口8899的Netcat服务器,并等待接收数据。

🥙4.3 编写Flink程序

接下来,编写一个Flink程序来连接到Netcat服务器并处理接收到的数据。以下是一个简单的Flink程序示例: 

package com.doit.day0221;
import beans.BrandAmount;
import beans.Order;
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.KeyedStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;/*** @日期: 2024/2/21* @Author: Wang NaPao* @Blog: https://blog.csdn.net/weixin_40968325?spm=1018.2226.3001.5343* @Tips: 和我一起学习吧* @Description: 演示 Flink 中通过 Netcat 添加数据源并使用 FlatMap 进行简单的数据处理      2. 每个订单中,金额最大的那笔商品  env.socketTextStream , map, keyBy , maxBy/reduce*/public class _03_Reduce_exercise_02 {public static void main(String[] args) throws Exception {// 获取执行环境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// 添加数据源DataStreamSource<String> stream = env.socketTextStream("hadoop01", 8899);// 对数据流进行处理stream.flatMap((String line, Collector<String> out) -> {String[] split = line.split(",");for (String word : split) {out.collect(word);}}).returns(String.class) // 显式指定函数返回值类型.print();// 执行作业env.execute("Flink Netcat Example");
}
}
🥙4.4 运行Flink程序

编译并运行上述Flink程序,程序将连接到Netcat服务器,并实时处理从服务器接收到的数据。

linux端:

控制台输出

 

相关文章:

探究网络工具nc(netcat)的使用方法及安装步骤

目录 &#x1f436;1. 什么是nc&#xff08;netcat&#xff09;&#xff1f; &#x1f436;2. nc&#xff08;netcat&#xff09;的基本使用方法 2.1 &#x1f959;使用 nc 进行端口监听 2.2 &#x1f959;使用 nc 进行端口扫描 2.3 &#x1f959;使用 Netcat 进行文件传输…...

深入浅出JVM(四)之类文件结构

深入浅出JVM&#xff08;四&#xff09;之类文件结构 Java文件编译成字节码文件后&#xff0c;通过类加载机制到Java虚拟机中&#xff0c;Java虚拟机能够执行所有符合要求的字节码&#xff0c;因此无论什么语言&#xff0c;只要能够编译成符合要求的字节码文件就能够被Java虚拟…...

Anaconda下的pkgs占用空间13G,如何安全的清理(已解决)

方法一&#xff1a;让Anaconda自行决定清理 执行命令 conda clean -p 我的Anaconda安装在D盘&#xff0c;具体位置如下。你的应该也能找到对应的位置 D:\*****\**\Anaconda3\pkgs (base) C:\Users\Liu_J>conda clean -p WARNING: C:\Users\***\.conda\pkgs does not ex…...

压缩感知常用的重建算法

重建算法的基本概念 在压缩感知&#xff08;Compressed Sensing, CS&#xff09;框架中&#xff0c;重建算法是指将从原始信号中以低于奈奎斯特率采集得到的压缩测量值恢复成完整信号的数学和计算过程。由于信号在采集过程中被压缩&#xff0c;因此重建算法的目标是找到最符合…...

c语言经典测试题2

1.题1 我们来思考一下它的结果是什么&#xff1f; 我们来分析一下&#xff1a;\\是转义为字符\&#xff0c;\123表示的是一个八进制&#xff0c;算一个字符&#xff0c;\t算一个字符&#xff0c;加上\0&#xff0c;应该有13个&#xff0c;但是strlen只计算\0前的字符个数。所以…...

⭐北邮复试刷题105. 从前序与中序遍历序列构造二叉树__递归分治 (力扣每日一题)

105. 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,…...

机房预约系统(个人学习笔记黑马学习)

1、机房预约系统需求 1.1系统简介 学校现有几个规格不同的机房&#xff0c;由于使用时经常出现“撞车“现象,现开发一套机房预约系统&#xff0c;解决这一问题。 1.2身份简介 分别有三种身份使用该程序 学生代表:申请使用机房教师:审核学生的预约申请管理员:给学生、教师创建账…...

7、内网安全-横向移动PTH哈希PTT票据PTK密匙Kerberos密码喷射

用途&#xff1a;个人学习笔记&#xff0c;有所借鉴&#xff0c;欢迎指正 目录 一、域横向移动-PTH-Mimikatz&NTLM 1、Mimikatz 2、impacket-at&ps&wmi&smb 二、域横向移动-PTK-Mimikatz&AES256 三、域横向移动-PTT-漏洞&Kekeo&Ticket 1、漏…...

【前端】夯实基础 css/html/js 50个练手项目(持续更新)

文章目录 前言Day 1 expanding-cardsDay 2 progress-steps 前言 发现一个没有用前端框架的练手项目&#xff0c;很适合我这种纯后端开发夯实基础&#xff0c;内含50个mini project&#xff0c;学习一下&#xff0c;做做笔记。 项目地址&#xff1a;https://github.com/bradtr…...

ELK入门(四)-logstash

Logstash Logstash 是开源的服务器端数据处理管道&#xff0c;能够同时从多个来源采集数据&#xff0c;转换数据&#xff0c;然后将数据发送到您最喜欢的存储库中。 Logstash 能够动态地采集、转换和传输数据&#xff0c;不受格式或复杂度的影响。利用 Grok 从非结构化数据中…...

laravel-admin的3个开发细节调整

在使用laravel-admin开发的过程中&#xff0c;根据官方开发文档Laravel admin | laravel-admin基本都能实现想要的效果&#xff0c;这里补充3个文档上没有描述的细节 Laravel8命令行创建控制器调整 在laravel-admin中可以使用php artisan admin:make UserController --modelAp…...

Redis--原理篇-数据结构(底层)

Redis数据结构 动态字符串SDS IntSet 统一大小并且内存地址连续 为了方便寻址 Dict 基本结构 扩容 收缩 Ziplist(P150 后半部分再看) Quicklist skiplist(满足中间查询 RedisObject...

OpenAI发布Sora模型,可根据文字生成逼真AI视频

早在2022年11月30日&#xff0c;OpenAI第一次发布人工智能聊天机器人ChatGPT&#xff0c;随后在全世界掀起了人工智能狂潮&#xff0c;颠覆了一个又一个行业。在过去的一年多的时间里&#xff0c;chatGPT的强大功能改变了越来越多人的工作和生活方式&#xff0c;成为了世界上用…...

视频生成模型:构建虚拟世界的模拟器 [译]

原文&#xff1a;Video generation models as world simulators 我们致力于在视频数据上开展生成模型的大规模训练。具体来说&#xff0c;我们针对不同时长、分辨率和宽高比的视频及图像&#xff0c;联合训练了基于文本条件的扩散模型。我们采用了一种 Transformer 架构&#…...

MySQL数据库基础(十二):子查询(三步走)

文章目录 子查询&#xff08;三步走&#xff09; 一、子查询&#xff08;嵌套查询&#xff09;的介绍 二、子查询的使用 三、总结 子查询&#xff08;三步走&#xff09; 一、子查询&#xff08;嵌套查询&#xff09;的介绍 在一个 select 语句中,嵌入了另外一个 select …...

2-21算法习题总结

由于蓝桥杯的题,我不知道从怎么复制,就只能粘贴图片了 翻硬币 代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String start sc.next();char[] starts start.toCharArray();String end sc…...

常见的排序算法整理

1.冒泡排序 1.1 冒泡排序普通版 每次冒泡过程都是从数列的第一个元素开始&#xff0c;然后依次和剩余的元素进行比较&#xff0c;若小于相邻元素&#xff0c;则交换两者位置&#xff0c;同时将较大元素作为下一个比较的基准元素&#xff0c;继续将该元素与其相邻的元素进行比…...

stm32——hal库学习笔记(定时器)

这里写目录标题 一、定时器概述&#xff08;了解&#xff09;1.1&#xff0c;软件定时原理1.2&#xff0c;定时器定时原理1.3&#xff0c;STM32定时器分类1.4&#xff0c;STM32定时器特性表1.5&#xff0c;STM32基本、通用、高级定时器的功能整体区别 二、基本定时器&#xff0…...

方法鉴权:基于 Spring Aop 的注解鉴权

在Spring框架中&#xff0c;可以使用面向切面编程&#xff08;AOP&#xff09;来实现注解鉴权。这通常涉及到定义一个切面&#xff08;Aspect&#xff09;&#xff0c;该切面会在方法执行前进行拦截&#xff0c;并根据注解value值来决定是否允许执行该方法。 简单思路&#xf…...

多模态相关论文笔记

(cilp) Learning Transferable Visual Models From Natural Language Supervision 从自然语言监督中学习可迁移的视觉模型 openAI 2021年2月 48页 PDF CODE CLIP(Contrastive Language-Image Pre-Training)对比语言图像预训练模型 引言 它比ImageNet模型效果更好&#xff0c…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...