探究网络工具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端:

控制台输出

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

报表控件Stimulsoft 新版本2024.1中,功能区工具栏新功能

今天&#xff0c;我们将讨论Stimulsoft Reports、Dashboards 和 Forms 2024.1版本中的一项重要创新 - 在一行中使用功能区工具栏的能力。 Stimulsoft Ultimate &#xff08;原Stimulsoft Reports.Ultimate&#xff09;是用于创建报表和仪表板的通用工具集。该产品包括用于WinF…

第六十六天 API安全-接口安全阿里云KEY%postmanDVWSXEE鉴权泄露

第66天 API安全-接口安全&阿里云KEY%postman&DVWS&XEE&鉴权&泄露 知识点 1.HTTP类接口-测评 2.RPC类接口-测评 3.Web Service类-测评 参考链接&#xff1a;https://www.jianshu.com/p/e48db27d7c70 内容点&#xff1a; SOAP(Simple Object Access Prot…

板块一 Servlet编程:第八节 文件上传下载操作 来自【汤米尼克的JavaEE全套教程专栏】

板块一 Servlet编程&#xff1a;第八节 文件的上传下载操作 一、文件上传&#xff08;1&#xff09;前端内容&#xff08;2&#xff09;后端内容 二、文件下载&#xff08;1&#xff09;前端的超链接下载&#xff08;2&#xff09;后端下载 在之前的内容中我们终于结束了Servle…

《安全历史第1讲——从故宫修建看软件物料清单的重要性》

故宫&#xff0c;这座中国传统文化的重要代表和象征性建筑已屹立近600年&#xff0c;是世界上现存规模最大、保存最为完整的木质结构古建筑之一。 故宫之所以能至今保存完好&#xff0c;除持续保护和修缮外&#xff0c;其使用的木材和砖石等材料也经过了精挑细选&#xff0c;保…

仿12306校招项目-项目业务和架构

目录 业务图 用户管理 业务难点 1. 如何确定用户注册信息的真实性 2. 面对亿级用户量 3. 支持多种登录方式会造成读请求扩散&#xff0c;需要解决用户定位问题 4. 高并发场景下缓存穿透问题需要有效解决&#xff0c;避免数据库压力过大 5. 明文存储用户敏感信息会造成安…

js设计模式:委托者模式

作用: 一个对象可以将一些任务交给另外一个对象去执行,两者执行这个方法的结果是一致的 被委托者去替代委托者完成了某个功能,通常各种服务镜像就是这样的 示例: //npmconst npm {downModules(name){console.log(下载${name}依赖包)}}//mirrornpmconst mirrornpm {src:npm…

如何使用ArcGIS Pro生成等高线

无论在制图还是规划中&#xff0c;经常会使用到等高线&#xff0c;大多数情况下&#xff0c;从网上获取的高程数据都是DEM文件&#xff0c;我们可以通过ArcGIS Pro来生成等高线&#xff0c;这里为大家介绍一下生成方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的…

IO 作业 24/2/21

1、使用多线程完成两个文件的拷贝&#xff0c;第一个线程拷贝前一半&#xff0c;第二个线程拷贝后一半&#xff0c;主线程回收两个线程的资源 #include <myhead.h> //定义分支线程1 void *task1(void *arg) {int fdr-1;//只读打开被复制文件if((fdropen("./111.txt…

【概率论与数理统计】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱概率论1. 基本概念2. 随机变量3. 分布函数4. 期望与方差 数理统计1. 数据收集与整理2. 描述性统计3. 推断性统计4. 回归分析5. 方差分析 简述概要 概率论与数理统计基础知识 知识图谱 概率论 1. 基本概…

六大设计原则 (SOLID)

一、设计原则概述 古人云: 有道无术,术可求.有术无道,止于术. 而设计模式通常需要遵循一些设计原则,在设计原则的基础之上衍生出了各种各样的设计模式。设计原则是设计要求,设计模式是设计方案,使用设计模式的代码则是具体的实现。 设计模式中主要有六大设计原则,简称为SOL…

python 3D散点图

from mpl_toolkits import mplot3d import numpy as np import matplotlib.pyplot as plt#解决中文乱码和负号不显示问题 plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False fig plt.figure() ax plt.axes(projection3d)#构造3个散点向量x1[[…

【Flink集群RPC通讯机制(二)】创建AkkaRpcService、启动RPC服务、实现相互通信

文章目录 零. RpcService服务概述1. AkkaRpcService的创建和初始化2.通过AkkaRpcService初始化RpcServer3. ResourceManager中RPC服务的启动4. 实现相互通讯能力 零. RpcService服务概述 RpcService负责创建和启动Flink集群环境中RpcEndpoint组件的RpcServer&#xff0c;且Rpc…

CSS基础属性

【三】基础属性 【1】高度和宽度 &#xff08;1&#xff09;参数 width&#xff08;宽度&#xff09;&#xff1a;用于设置元素的宽度。可以使用具体的数值&#xff08;如像素值&#xff09;或百分比来指定宽度。 height&#xff08;高度&#xff09;&#xff1a;用于设置元…

小程序端学习

P2 创建Uni-app 分离窗口 一样的Ctrl S P3 细节知识点 创建新的小程序页面

设计模式浅析(六) ·命令模式

设计模式浅析(六) 命令模式 日常叨逼叨 java设计模式浅析&#xff0c;如果觉得对你有帮助&#xff0c;记得一键三连&#xff0c;谢谢各位观众老爷&#x1f601;&#x1f601; 命令模式 概念 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c…

C#知识点-13(进程、多线程、使用Socket实现服务器与客户端通信)

进程 定义&#xff1a;每一个正在运行的应用程序&#xff0c;都是一个进程 进程不等于正在运行的应用程序。而是为应用程序的运行构建一个运行环境 Process[] pros Process.GetProcesses();//获取电脑中所有正在运行的进程//通过进程&#xff0c;直接打开文件//告诉进程&…

解决IDEA搜不到插件

File -> Settings -> Plugins https://plugins.jetbrains.com/ 完成以上操作即可搜到插件

小程序--组件通信

一、父传子 与vue利用props类似&#xff0c;小程序是利用自定义属性&#xff1a;properties // components/my-nav/my-nav.js Component({// 小程序组件默认样式是隔离&#xff0c;addGlobalClass设置为true可允许外部修改样式options: {addGlobalClass: true,// 只要使用到具…

面试经典150题——生命游戏

​"Push yourself, because no one else is going to do it for you." - Unknown 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力求解 之所以先暴力求解&#xff0c;是因为我开始也没什么更好的思路&#xff0c;所以就先写一种解决方案&#xff0c;没准写着写…

OJ链接——打印从1到最大的n位数

目录 1. 题目描述2. 示例3. 分析思路4. 完整代码 1. 题目描述 输入数字 n&#xff0c;按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3&#xff0c;则打印出 1、2、3 一直到最大的 3 位数 999。 用返回一个整数列表来代替打印n 为正整数&#xff0c;0 < n < 5 链接在…