08-linux网络管理-nc命令(TCP|UDP网络联通测试,文件传输,带宽测试)

news2024/11/16 6:46:16

文章目录

  • 1. 安装
  • 2. 选项
    • 2.1 帮助命令
    • 2.2 常用示例
      • - 监听TCP端口(默认)
      • - 监听UDP端口
      • - 链接TCP端口
      • - 链接UDP端口
      • - 接收数据重定向
      • - 上传数据
  • 3. 完整示例
    • 3.1 示例1(端口联通检查)
    • 3.2 示例2(文件传输)
    • 3.3 带宽测试

1. 安装

yum install nc -y

2. 选项

2.1 帮助命令

[root@DoM01 ~]# nc -h
Ncat 7.50 ( https://nmap.org/ncat )
Usage: ncat [options] [hostname] [port]

Options taking a time assume seconds. Append 'ms' for milliseconds,
's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).

  -4                         Use IPv4 only
  -6                         Use IPv6 only
  -U, --unixsock             Use Unix domain sockets only
  -C, --crlf                 Use CRLF for EOL sequence
  -c, --sh-exec <command>    Executes the given command via /bin/sh
  -e, --exec <command>       Executes the given command
      --lua-exec <filename>  Executes the given Lua script
  -g hop1[,hop2,...]         Loose source routing hop points (8 max)
  -G <n>                     Loose source routing hop pointer (4, 8, 12, ...)
  -m, --max-conns <n>        Maximum <n> simultaneous connections
  -h, --help                 Display this help screen
  -d, --delay <time>         Wait between read/writes
  -o, --output <filename>    Dump session data to a file
  -x, --hex-dump <filename>  Dump session data as hex to a file
  -i, --idle-timeout <time>  Idle read/write timeout
  -p, --source-port port     Specify source port to use
  -s, --source addr          Specify source address to use (doesn't affect -l)
  -l, --listen               Bind and listen for incoming connections
  -k, --keep-open            Accept multiple connections in listen mode
  -n, --nodns                Do not resolve hostnames via DNS
  -t, --telnet               Answer Telnet negotiations
  -u, --udp                  Use UDP instead of default TCP
      --sctp                 Use SCTP instead of default TCP
  -v, --verbose                (can be used several times)
  -w, --wait <time>          Connect timeout
  -z                         Zero-I/O mode, report connection status only
      --append-output        Append rather than clobber specified output files
      --send-only            Only send data, ignoring received; quit on EOF
      --recv-only            Only receive data, never send anything
      --allow                Allow only given hosts to connect to Ncat
      --allowfile            A file of hosts allowed to connect to Ncat
      --deny                 Deny given hosts from connecting to Ncat
      --denyfile             A file of hosts denied from connecting to Ncat
      --broker               Enable Ncat's connection brokering mode
      --chat                 Start a simple Ncat chat server
      --proxy <addr[:port]>  Specify address of host to proxy through
      --proxy-type <type>    Specify proxy type ("http" or "socks4" or "socks5")
      --proxy-auth <auth>    Authenticate with HTTP or SOCKS proxy server
      --ssl                  Connect or listen with SSL
      --ssl-cert             Specify SSL certificate file (PEM) for listening
      --ssl-key              Specify SSL private key (PEM) for listening
      --ssl-verify           Verify trust and domain name of certificates
      --ssl-trustfile        PEM file containing trusted SSL certificates
      --ssl-ciphers          Cipherlist containing SSL ciphers to use
      --version              Display Ncat's version information and exit

2.2 常用示例

- 监听TCP端口(默认)

nc -lv 10.10.239.32 1840

说明:

  • -l 启动监听模式(作为服务器监听指定端口)
  • -v 显示信息和错误

- 监听UDP端口

nc -luv 10.10.239.32 1840                                                                                                                                                                                                                                                                                                                    

说明:

  • -u UDP模式

- 链接TCP端口

nc -vz 10.10.239.32 1840

- 链接UDP端口

nc -vz 10.10.239.32 1840

说明:

  • -z 链接不传输数据

- 接收数据重定向

 nc -lv 10.10.239.32 1840 > liubei.txt

- 上传数据

nc -v 10.10.239.32 1840 < liubei.txt

3. 完整示例

3.1 示例1(端口联通检查)

  • 检查本地服务器是和 10.10.239.65的80端口是否能建立TCP链接。
[root@liubei-01 ~]# nc -vz 10.10.239.65 80
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.65:80.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

如上可见,可以联通。

  • 检查本地服务器是和 10.10.239.65的80端口是否能建立UDP链接。
[root@liubei-01 ~]# nc -vuz 10.10.239.65 80
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.65:80.
Ncat: Connection refused.

如上可见,不能联通。

3.2 示例2(文件传输)

  • 接收端创建监听服务
[root@liubei-01 ~]# nc -lv 10.10.239.32 1840 > liubei.txt
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on 10.10.239.32:1840

服务端会在前台等待接收

  • 客户端准备文件
[root@liubei-02 ~]# cat > liubei.txt << EOF
> 姓名:刘备
> 势力:西蜀
> 身份:主公
> EOF
  • 客户端上传文件
[root@liubei-02 ~]# nc -v 10.10.239.32 1840 < liubei.txt
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.32:1840.
Ncat: 48 bytes sent, 0 bytes received in 0.01 seconds.

  • 服务端显示
[root@liubei-02 ~]# nc -v 10.10.239.32 1840 < liubei.txt
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.239.32:1840.
Ncat: 48 bytes sent, 0 bytes received in 0.01 seconds.

传输完毕服务端会结束

  • 服务端查看接收的文件
[root@liubei-01 ~]# cat liubei.txt
姓名:刘备
势力:西蜀
身份:主公

3.3 带宽测试

本例使用udp测试

  • 创建server监听80端口接收upd包,接收数据传入黑洞
[root@liubei-01 ~]# nc -uvl 10.10.239.32 80 > /dev/null
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on 10.10.239.32:80

  • 客户端推送udp包
[root@liubei-01 ~]# nc -u 10.10.239.32 80 < /dev/zero
  • 监控网络流量

本例使用iftop工具,在客户端查看实时网速。(当然你也可以使用别的方案)

iftop -i eth0

如果没有直接yum

yum install iftop -y

监控结果显示

结果有很多条,其他数据我省略了。

                                         1.86Gb                                   3.73Gb                                   5.59Gb                                   7.45Gb                              9.31Gb
└────────────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┴────────────────────────────────────────┴─────────────────────────────────────────
liubei-02                                                                                 => 10.10.239.32                                                                              3.27Gb  3.38Gb  3.30Gb
                                                                                          <=                                                                                              0b      0b      0b
…………
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
TX:             cum:   84.5GB   peak:   4.11Gb                                                                                                                                rates:   3.28Gb  3.39Gb  3.30Gb
RX:                     521MB           13.2Mb                                                                                                                                         3.23Mb  5.74Mb  4.59Mb
TOTAL:                 85.0GB           4.11Gb                                                                                                                                         3.28Gb  3.39Gb  3.31Gb

结果说明:

  • 顶部数据:网速标尺
  • 中部数据:每个链接的网络数据(我只保留了我们测试的一条,其他用省略号表示)
    • 第一列:本机源地址
    • 第二列:远端目标地址
    • 第三列:2s平均网速
    • 第四列:10s平均网速
    • 第五列:40s平均网速
  • 底部数据
开启后合计值峰值2s平均流量10s平均流量40s平均流量
发送的数据
接收的数据
汇总

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

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

相关文章

Linux权限的基本知识

本文已收录至《Linux知识与编程》专栏&#xff01;作者&#xff1a;ARMCSKGT演示环境&#xff1a;CentOS 7 目录 前言 正文 权限是什么&#xff1f; Linux权限的划分 Linux用户的切换命令 Linux文件权限 Linux文件类型 Linux文件权限 Linux角色划分 文件权限的访问和…

buu [MRCTF2020]keyboard 1

题目描述&#xff1a; 题目分析&#xff1a; 由标题keyboard可知与键盘有关 看到一串数字有重复的&#xff0c;且重复数在1~4之间&#xff0c;符合九键拼音键盘 个数便对应位数 例如&#xff1a;6对应m , 666对应o 所以以上对应下来是 “mobilephond” 试过之后不对&#…

Unity-Tcp-网络聊天功能(一): 基本功能

Protobuff的效率较高。TCP用于延迟不高的游戏效果较好&#xff0c;UDP对开发人员友好&#xff08;对于消息的重发等&#xff0c;降低网络延迟&#xff09;&#xff0c;Websocket在网页端H5端进行通信&#xff0c;1.TCP相关API介绍与服务端编写TCP是面向连接的。因此需要创建监听…

【JavaEE多线程】synchronized原理篇

目录 一、synchronized的优化机制 1)无锁状态 2)偏向锁状态:非必要&#xff0c;不加锁 3)轻量级锁 4)重量级锁&#xff1a;挂起等待 二、锁消除 三、锁粗化 锁的粒度 锁粗化的好处 在这一篇文章当中&#xff0c;我们也提到了synchronized的作用。 Java对于synchroniz…

Python super()函数:调用父类的构造方法

Python 中子类会继承父类所有的类属性和类方法。严格来说&#xff0c;类的构造方法其实就是实例方法&#xff0c;因此毫无疑问&#xff0c;父类的构造方法&#xff0c;子类同样会继承。但我们知道&#xff0c;Python 是一门支持多继承的面向对象编程语言&#xff0c;如果子类继…

『Nonebot 插件编写教程』nonebot2处理消息的完整过程

文章目录前言捕获消息处理消息Bot机器人参数Event事件参数回复消息字符串与Message调用MessageSegment接口前言 前面已经有不止一篇博客教大家如何搭建nonebot2环境了大家可以去专栏查看&#xff0c;这篇博客并不会再次带大家来搭建nonebot2环境&#xff0c;而是着手与插件的编…

【微服务】Sentinel规则持久化

Sentinel 规则持久化 一、修改微服务 修改微服务&#xff0c;让其监听Nacos中的sentinel规则配置。 具体步骤如下&#xff1a; 1.引入依赖 在order-service中引入sentinel监听nacos的依赖&#xff1a; <dependency><groupId>com.alibaba.csp</groupId>…

数据结构实验三: 图的操作与实现

数据结构实验一:线性表,堆栈和队列实现 数据结构实验二 :二叉树的操作与实现 数据结构实验三: 图的操作与实现 数据结构实验四 : 查找和排序算法实现 文章目录一、实验目的&#xff1a;二、使用仪器、器材三、实验内容及原理1、教材P310实验题1&#xff1a;实现图的邻接矩阵和邻…

Springboot扩展点之BeanFactoryPostProcessor

Springboot扩展点之BeanFactoryPostProcessor1.功能特性BeanFactoryPostProcessor的执行是Spring Bean生命周期非常重要的一部分&#xff1b; BeanFactory级别的后置处理器&#xff0c;在Spring生命周期内&#xff0c;org.springframework.beans.factory.config.BeanFactoryPos…

【C语言】10题相关讲解+总结----有用的知识1

总结【C语言】10题&#xff0c;有兴趣的可以看看1.结构体与typedef联系2.结构体中涉及的操作符3.指针数组与数组指针4.数组首元素的作用5.喝汽水问题6.上三角矩阵判定7 矩阵相等判定8.VS调试技巧9.Debug与Release关系10.调整奇数偶数顺序11.有序序列合并1.结构体与typedef联系 …

开发互动直播应用很简单:声网 Android Demo保姆级运行教程

本文作者是来自声网开发者社区的用户“Xiaohua”。 前言 本人在参与《声网开发者漫游指南》期间&#xff0c;通过学习了解和学会跑通声网的实时互动Demo&#xff0c;但因为课程提供的demo是移动端和pc端的&#xff0c;很少接触过&#xff0c;所以只能花点时间学习一下才能运行…

如何屏蔽 iOS 软件自动更新,去除更新通知和标记

如何禁用 iPhone、iPad 软件自动更新。适用于 iOS、iPadOS 和 watchOS&#xff0c;即 iPhone、iPad 和 Apple Watch 通用。 请访问原文链接&#xff1a;https://sysin.org/blog/disable-ios-update/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&a…

WebAssembly编译之(4)-WASM编译进阶(多文件、多接口)

引言 上一节我们讲到如何用Emscripten将一个C编译陈wasm&#xff0c;并导出可供Javascirpt调用的接口&#xff0c;以及C导出类的函数接口、导出类的封装对象等。然而&#xff0c;编译的方式比较玛法&#xff0c;有没办法能更友好一点实现wasm的编译呢 WASM 相关文档&#xff1a…

【自学Docker】Docker diff命令

Docker diff命令 大纲 docker diff命令教程 docker diff 命令用于比较一个 Docker容器 不同版本提交的文件差异。该命令后面的 CONTAINER 可以是容器Id&#xff0c;或者是容器名。 docker diff命令会列出 3 种容器内文件状态变化&#xff08;A - Add, D - Delete, C - Chang…

Java-基础-3.容器

一&#xff1a;为什么会出现容器&#xff1f; 在之前的学习中&#xff0c;我们学习了变量和常量。都是一个字符或者字符串&#xff0c;数字的情况。但是在实际的生产中&#xff0c;我们一次会接受到很多类型不同&#xff0c;个数不同的数据。所以&#xff0c;为了方便我们后续…

红杉:2022企业数字化年度指南

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年12月份热门报告盘点罗振宇2023年跨年演讲PPT原稿吴晓波2022年年终秀演讲PPT原稿2023年&#xff0c;如何科学制定年度规划&#xff1f;《底层逻辑》高清配图华为2021数字…

[基础语法] python语法之列表的基本操作

文章目录列表已发布列表的基本操作增删改查排序列表实例练习列表 已发布 python判断语句python循环语句python之列表list python 的数据格式主要有列表、字典、元组、集合。其中列表的使用最为广泛。 任何一种数据格式的使用都离不开增、删、改、查四个操作。列表除了这四个…

【Mysql第四期 运算符规则计算】

文章目录写在前面1.算数运算符2.比较运算符3.逻辑运算符4.位运算符5.运算符的优先级拓展&#xff1a;使用正则表达式查询写在前面 基本的运算符号在计算机编程领域都是相通的&#xff0c;会有自己的一些特定符号语言&#xff0c;就像是各地的普通话一样&#xff0c;尽管语音描…

剑指 Offer II 004只出现一次的数字

给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 示例 1&#xff1a; 输入&#xff1a;nums [2,2,3,2] 输出&#xff1a;3 示例 2&#xff1a; 输入&#xff1a;nums [0,1,0,…

Linux中Vi编辑器和Vim编辑器

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java案例分…