Carry の Blog Carry の Blog
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carry の Blog

好记性不如烂键盘
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工作笔记

    • 实用linux命令-nc
    • 实用linux命令-lsof
    • 实用linux命令-ss
    • Bash 备忘清单
    • Ansible 备忘清单
    • linux 文件的权限和属性
    • GPT分区使用 `parted` 扩展分区的操作流程
    • 实用linux命令-sed
    • VSCode快捷键备忘录
  • K8S

  • Systemd

  • Nginx

  • Supervisord

  • OpenLdap

  • OpenVPN

  • GitLab

  • Sshd

  • WebDev

  • Docker

  • Prometheus

  • Rclone

  • Iptables

  • Firewalld

  • Linux笔记
  • 工作笔记
Carry の Blog
2022-03-10

实用linux命令-nc

nc传输文件

#发送文件
nc -l 1234 < logstash-7.8.1.rpm
#接受文件
nc 10.10.10.62 1234 > logstash-7.8.1.rpm

#发送文件夹
tar zcvf - test/ | nc 10.10.181.23 1234
#接受文件夹
nc -l 1234 | tar zxvf -
1
2
3
4
5
6
7
8
9

nc网络调试工具

nc(Netcat)不仅可以用于文件传输,还可以在网络调试中发挥重要作用。以下是一些常见的调试用法:

  1. 测试端口是否开放

    nc -zv 10.10.10.62 80
    
    1

    说明:

    • -z:只扫描端口,不发送数据。
    • -v:启用详细输出。
    • 如果端口开放,会显示“成功连接”;如果端口关闭,会显示“连接失败”。
  2. 模拟服务器监听端口

    nc -l 8080
    
    1

    说明:

    • -l:监听指定端口。
    • 可以用来模拟一个简单的服务器,接收来自客户端的数据。
  3. 发送消息到远程服务器

    echo "Hello, Server!" | nc 10.10.10.62 8080
    
    1

    说明:

    • echo命令将消息发送到指定的服务器和端口。
    • 可用于测试服务器的接收功能。
  4. 创建简易聊天服务 在一台机器上运行:

    nc -l 12345
    
    1

    在另一台机器上运行:

    nc 10.10.10.62 12345
    
    1

    说明:

    • 两台机器可以通过输入消息进行实时聊天。

nc高级用法

  1. 探测开放端口范围

    nc -zv 10.10.10.62 20-100
    
    1

    说明:

    • 探测目标机器指定范围内的开放端口。
  2. 传输加密数据 使用openssl结合nc实现加密传输:

    # 发送端
    tar zcvf - test/ | openssl enc -aes-256-cbc -salt -out - | nc 10.10.10.62 1234
    # 接收端
    nc -l 1234 | openssl enc -d -aes-256-cbc -salt -in - | tar zxvf -
    
    1
    2
    3
    4

    说明:

    • openssl enc:使用AES-256加密数据。
    • 传输过程中保证数据的安全性。
  3. 文件传输进度显示 使用pv显示传输进度:

    # 发送端
    tar zcvf - test/ | pv | nc 10.10.10.62 1234
    # 接收端
    nc -l 1234 | pv | tar zxvf -
    
    1
    2
    3
    4

    说明:

    • pv:显示数据流的传输进度。

nc注意事项

  1. 安全性

    • nc默认不加密数据,传输敏感信息时需结合加密工具(如openssl)。
    • 避免在公网环境中直接使用nc传输数据。
  2. 权限问题

    • 使用低端口(如80、443)时可能需要sudo权限。
  3. 替代工具

    • 如果需要更高级的功能,可以使用ncat(nc的增强版)或其他网络工具如scp、rsync。

上次更新: 4/24/2025

实用linux命令-lsof→

最近更新
01
tidb fast ddl
04-04
02
TiDB配置文件调优 原创
04-03
03
如何移除TiDB中的表分区 原创
04-03
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式