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

4 篇文章 0 订阅

目录

🐶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端:

控制台输出

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值