• Linux 中nc指令的使用总结


    nc指令概述

    nc 是 Linux 系统中的 netcat 命令之简称,它是一个强大的网络工具,可以用于创建 TCP/UDP 套接字连接。常见的其用法模板可定位:nc [选项] [地址] [端口],它的用法如下图所示:

    请添加图片描述

    知道你英语差了一丢丢,小鸽鸽给你准备了中文版:

    OpenBSD的netcat(Debian版本为1.206-1ubuntu1)的使用方法: 用法:nc [选项] [目标] [端口] 选项:
    -4 使用IPv4
    -6 使用IPv6
    -b 允许广播
    -C 发送CRLF作为行结束符
    -D 启用调试套接字选项
    -d 从stdin分离
    -F 传递套接字fd
    -h 此帮助文本
    -I length TCP接收缓冲区长度
    -i interval 发送行/扫描端口的延迟间隔
    -k 保持传入套接字开启以进行多个连接
    -l 监听模式,为了传入连接
    -M ttl 发送的TTL /跳限
    -m minttl 最小接收TTL/跳限
    -N 在stdin出现EOF后关闭网络套接字
    -n 禁止名称/端口解析
    -O length TCP发送缓冲区长度
    -P proxyuser 代理认证的用户名
    -p port 为远程连接指定本地端口
    -q secs 在stdin出现EOF后延迟后退出
    -r 随机化远程端口
    -S 启用TCP MD5签名选项
    -s source 本地源地址
    -T keyword TOS值
    -t 回答TELNET协商
    -U 使用UNIX域套接字
    -u UDP模式
    -V rtable 指定备用路由表
    -v 详细信息
    -W recvlimit 接收一定数量的数据包后终止
    -w timeout 进行连接和最终网络读取的超时时间
    -X proto 代理协议:“4”,“5”(SOCKS)或"connect"
    -x addr[:port] 指定代理地址和端口
    -Z DCCP模式
    -z 零I / O模式[用于扫描]
    端口号可以是单个或范围:lo-hi[包括]

    用法一:端口扫描

    语法:nc -vz localhost m-n
    端口扫描既可以是单个端口也可以是多个端口,以上指令扫描的是m-n之间端口号,来验证这些端口中哪些是可通的、是可以连接的、开放的。此指令是想尝试连接到本地的 m 到 n 端口。对于每个成功的连接,它都会打印一个消息并退出。如果端口是关闭的或不可达的,它将不打印任何消息。使用 -vz 选项可以显示详细的输出并仅显示开放的端口。

    😙首先通过netstat -an指令列出某设备或者说IP上所有开放的端口号

    请添加图片描述

    发现192.168.149.129的138端口号是开放的,我们通过指令nc -vz 来扫描130-145之间的所有端口号,除了138端口之外所有都显示connection refused

    请添加图片描述

    用法二:命令行中发送和接收数据

    通过 nc,你可以在命令行中发送和接收数据,这在调试网络应用或进行一些简单的网络通信时非常有用。

    首先,我们需要打开一个nc会话来监听我们的端口。这可以通过以下命令完成:nc -l 138

    在这个命令中,“-l”参数表示“listen”138是我们想要监听的端口号。当我们运行这个命令时,nc会在指定端口上监听,等待接收数据。

    然后,我们可以使用另一个nc命令从另一台机器向上述nc会话发送数据。假设你的Linux机器的IP是192.168.149.129,你可以在另一台机器上运行以下命令:

    echo "Hello, World!" | nc 192.168.149.129 138

    在这个命令中,“echo “Hello, World!””会产生“Hello, World!”这个字符串,然后通过管道将这个字符串传递给nc命令。nc命令会将这个字符串发送到你之前监听的192.168.149.129138端口。

    当你发送数据后,你之前监听的nc会话应该能接收到这些数据,并在命令行中显示出来。

    同样地,你也可以在nc会话中向外部主机发送数据。例如,你可以在nc会话中输入“Hello, World!”并按回车键,这将向与你nc会话连接的任何主机发送这个字符

    下图坐左边显示是接收端,将消息“duzhongbo”发送到IP的138端口上,右边一直在监听138这个端口,一旦消息发过来便会立即接收。

    请添加图片描述

    用法三:建立双方通信

    通过在一个终端上监听某端口号:nc -l port

    然后在另一个终端上连接该端口号: nc IP Port

    之后便可双方建立通信链路
    请添加图片描述

    总结:其实对于nc指令的用法来讲就是连个,一是进行端口扫描检查,二是利用其建立不同终端见的通信

  • 相关阅读:
    Spring Boot项目开发实战:项目属性常用配置和使用方法
    【Ubuntu】设置永不息屏与安装 dconf-editor
    OpenLayers中面拆分
    伦敦银时走势与获利机会
    后端面试必备知识点
    pgsql查询分组中某个字段最大或者最小的一条数据
    NPW(监控片的)的要点精讲
    Redis数据库 ---- 五种数据类型常用命令汇总
    python 如何将视频文件的语音转换为文字
    echarts折线图修改特定点的颜色
  • 原文地址:https://blog.csdn.net/qq_42595610/article/details/132824687