【Linux】nc 网络诊断 | 文件传输 命令详解

目录

一、命令简介

二、命令使用

[2.1 测试服务器](#2.1 测试服务器)

[2.2 端口连通性测试](#2.2 端口连通性测试)

2.2.1tcp端口连通性测试

2.2.2udp端口连通性测试

[2.3 文件及目录的传输](#2.3 文件及目录的传输)

[2.3.1 文件传输(TCP端口)](#2.3.1 文件传输(TCP端口))

[2.3.2 文件传输(UDP端口)](#2.3.2 文件传输(UDP端口))


相关文章:

【网络】抓包工具Wireshark下载安装和基本使用教程

【Linux】网络诊断 ping命令详解

【Linux】网络诊断 traceroute命令详解

【网络】网络层ICMP协议

【网络】网络层协议ARP和IP协议转发流程

【网络】网络层IP地址和IP数据报的格式

【网络】计算机网络基础概念入门


一、命令简介


nc是netcat的简写,是一个功能强大的网络工具。nc命令在linux系统中实际命令是ncat,nc是软连接到ncat,nc的主要命令如下。

  • .实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
  • 端口的扫描,nc可以作为client发起TCP或UDP连接
  • 机器之间传输文件
  • 机器之间网络测速

nc如果找不到nc命令可以使用安装

复制代码
# CentOS
yum install -y nc

参数说明

|-----------------------------|----------------------------------|
| 参数 | 释义 |
| -4 | Use IPv4 only |
| -6 | Use IPv6 only |
| -U, --unixsock | 仅使用Unix域套接字 |
| -C, --crlf | 将crlf用于EOL序列 |
| -c, --sh-exec <command> | 通过/bin/sh执行给定的命令 |
| -e, --exec <command> | 执行给定的命令 |
| --lua-exec <filename> | 执行给定的lua脚本 |
| -g hop1,hop2,... | 松散源路由跃点(最多8个) |
| -G <n> | 松散源路由跃点指针(4,8,12,...) |
| -m, --max-conns <n> | 最大同时连接数 |
| -h, --help | 帮助显示此帮助屏幕 |
| -d, --delay <time> | 读/写之间的延迟 |
| -o, --output <filename> | 将会话数据转储到文件 |
| -x, --hex-dump <filename> | 将会话数据作为十六进制转储到文件 |
| -i, --idle-timeout <time> | 空闲读/写超时 |
| -p, --source-port port | 指定要使用的源端口 |
| -s, --source addr | 指定要使用的源地址(不影响-l) |
| -l, --listen | 绑定并侦听传入连接 |
| -k, --keep-open | 在侦听模式下接受多个连接 |
| -n, --nodns | 不通过DNS解析主机名 |
| -t, --telnet | 应答telnet协商 |
| -u, --udp | 使用udp而不是默认TCP |
| --sctp | 使用sctp而不是默认的TCP |
| -v, --verbose | 设置详细级别(可以多次使用) |
| -w, --wait <time> | 连接超时时间,单位秒 |
| -z | 使用0输入/输出模式,只在扫描通信端口时使用。 |
| #NAME? | 仅报告连接状态 |
| --append-output | 追加而不是重击指定的输出文件 |
| --send-only | 忽略接收;退出EOF |
| --recv-only | 从不发送任何东西 |
| --allow | 给定主机连接到Ncat |
| --allowfile | 允许连接到Ncat的主机的文件 |
| --deny | 给定主机连接到Ncat |
| --denyfile | 拒绝连接到Ncat的主机文件 |
| --broker | 启用Ncat的连接代理模式 |
| --chat | 开始一个简单的Ncat聊天服务器 |
| --proxy <addr:port> | 指定要通过代理的主机地址 |
| --proxy-type <type> | 指定代理类型("http"或"socks4"或"socks5") |
| --proxy-auth <auth> | 通过HTTP或SOCKS代理服务器进行身份验证 |
| --ssl | 使用ssl连接或侦听 |
| --ssl-cert | 指定用于侦听的ssl证书文件(PEM) |
| --ssl-key | 指定用于侦听的ssl私钥(PEM) |
| --ssl-verify | 证书的信任和域名 |
| --ssl-trustfile | 包含可信ssl证书的PEM文件 |
| --ssl-ciphers | Cipherlist包含要使用的ssl密码 |
| --version | 查看命令版本 |


二、命令使用


2.1 测试服务器

|---------------|-------------|
| IP | 主机名 |
| 192.168.2.130 | k8s-master1 |
| 192.168.2.131 | k8s-node1 |
| 192.168.2.132 | k8s-node2 |

2.2 端口连通性测试


2.2.1tcp端口连通性测试

测试 192.168.2.130 与 192.168.2.131 的sshd默认端口22(tcp)是否可以连通。
​

当看到"Ncat: Connected to 192.168.2.131:22.",说明192.168.2.131与192.168.2.130的ssh端口22(tcp)是可以连通的,否则,连通性失败。

2.2.2udp端口连通性测试

测试192.168.2.130与192.168.2.131的rpcbind端口111(udp)是否可以连通。
​

2.3 文件及目录的传输


2.3.1 文件传输(TCP端口)

从192.168.2.131拷贝文件到192.168.2.130,可实现免密传输。

首先,在接收端192.168.2.130上,启动任意未被占用的端口,默认使用TCP端口。

192.168.2.130接收端:
​

192.168.2.131发送端:
​

传送tar包文件

192.168.2.130接收端:
​

192.168.2.131发送端:
​

2.3.2 文件传输(UDP端口)


从192.168.2.131拷贝文件到192.168.2.130

首先,在接收端192.168.2.130上,启动任意未被占用的端口,默认使用TCP端口。

192.168.2.130接收端:
​

192.168.2.131发送端:
​


参考原文链接:Linux命令之nc_linux nc-CSDN博客

相关推荐
时空无限18 分钟前
ubuntu 26.04 sudo 连不上主机卡住然后失败问题处理
linux·服务器·ubuntu
路溪非溪1 小时前
C++标准库之智能指针
linux·开发语言·c++
程序员大雄学编程1 小时前
Linux 磁盘满了怎么排查?df / du / find 三步定位大文件
linux·运维·php
RuoyiOffice1 小时前
Hyper-V+Kubernetes 搭建实战:保留 Windows,构建三节点 Linux 容器集群
linux·spring boot·kubernetes·containerd·hyper-v·微服务部署·ruoyi office
承渊政道1 小时前
Linux网络学习【五种IO模型与⾮阻塞IO】
linux·网络·学习·ubuntu·io模型·非阻塞io
wuminyu3 小时前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++
kiros_wang3 小时前
通用工具模块封装:防抖节流、参数校验公共工具类
linux·运维·ubuntu
honsor3 小时前
以太网温湿度传感器|动环监控核心采集设备,协议、组网、Zabbix接入实战
linux·服务器·ubuntu
Android系统攻城狮3 小时前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
深圳恒讯3 小时前
香港云主机硬盘满了怎么办?Linux和Windows在线扩容操作教程
linux·运维·windows