【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博客

相关推荐
Komorebi.py13 分钟前
【Linux】-学习笔记05
linux·笔记·学习
Mr_Xuhhh19 分钟前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
内核程序员kevin3 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ8 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream8 小时前
Linux的桌面
linux
xiaozhiwise8 小时前
Makefile 之 自动化变量
linux
意疏11 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu11 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿11 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx