当前位置: 首页 > news >正文

面试题整理3----nc命令的常见用法

面试题整理3----nc命令的常见用法

    • 1. NC是什么
    • 2. NC的常用参数
      • 2.1 开启指定端口TCP监听(-l小写的L)
      • 2.2 测试端口是否能访问(-v)
      • 2.3 开启指定端口UDP监听(-u)
      • 2.4 端口扫描(-z)
      • 2.5 指定超时时间(-w)
      • 2.6 指定本地端口号连接(-p)
      • 2.7 指定的命令(-e)

1. NC是什么

nc(NetworkCat)命令是一个非常强大的网络工具,通常被称为“网络调试工具”或“网络连通工具”。它最早由Hobbit(RobertT.Morris)于1996年编写,并且在许多Unix和类Unix系统(如Linux)中默认安装。nc命令可以用于读取和写入网络连接中的数据,支持TCP和UDP协议,因此广泛用于测试网络连接、调试网络服务和进行端口扫描等操作。

nc命令的功能非常强大,它支持网络连接、数据传输、端口监听、代理等多种功能。因其简洁和高效,nc被广泛应用于网络管理员、开发人员、渗透测试人员等多种场景。

2. NC的常用参数

2.1 开启指定端口TCP监听(-l小写的L)

作用:
启动指定端口的TCP监听,等待来自远程主机的连接。
用法:

nc -l 8448

示例:
先在服务器A上添加防火墙配置,并开启8448/tcp监听
在这里插入图片描述

2.2 测试端口是否能访问(-v)

作用:
测试端口是否可以访问
用法:
带参数-v或者不带任何参数,带v会明确显示是否成功

# nc -v 目的ip       目的端口
nc -v 192.168.126.30 8448
# 成功则有successed!的返回
# 失败则返回 Connection refuse

示例:
在这里插入图片描述

2.3 开启指定端口UDP监听(-u)

作用:
启动指定端口的UDP监听,等待来自远程主机的连接。
用法:

nc -u -l 8449

示例:
先在服务器A上添加防火墙配置,并开启8449/udp监听
在这里插入图片描述
测试:

nc -u -v 192.168.126.30 8449

在这里插入图片描述

2.4 端口扫描(-z)

作用:
扫描指定主机上的开放的端口,常用于端口扫描。
用法:

#        目标ip      目标端口范围
nc -zv 192.168.126.30 1-9999

示例:
在这里插入图片描述
此命令和nmap -p的功能类似
在这里插入图片描述

2.5 指定超时时间(-w)

作用:
设置连接的超时值,单位为秒。
用法:

nc -vw 5 192.168.126.30 8448

示例:
使用-w后会在连接创建完5秒后自动断开.之前我们没有配置-w的时候是需要手动按ctrl+c进行断开连接
在这里插入图片描述

2.6 指定本地端口号连接(-p)

作用:
指定本地端口号连接远程端口。
用法:

#   客户端端口  服务端ip      服务端端口
nc -p 4479 192.168.126.30 8448

示例:
默认情况下会用随机端口进行连接
在这里插入图片描述
指定端口后,在服务端看到客户端连接过来的端口就是我们所指定的4479
在这里插入图片描述

2.7 指定的命令(-e)

作用:
在连接建立后执行指定的命令。
如果是-e /bin/bash 就相当于开了个不要密码的连接,生产中慎用.
用法:

#   客户端端口  服务端ip      服务端端口
nc -l -p 8448 -e /bin/bash

示例:
在这里插入图片描述
##5.总结

nc命令是一个功能丰富且灵活的网络调试工具。它不仅能测试端口和连接,还能进行文件传输、端口扫描、反向Shell等操作。虽然nc的功能非常强大,但它的简洁性和灵活性也是它受到用户喜爱的原因之一。在实际使用中,nc可以作为一个快速、轻量级的网络测试工具,适用于各种网络调试和渗透测试场景。

该文档介绍了nc命令的历史、基本语法、常用参数以及几种实际的使用场景

http://www.lryc.cn/news/506122.html

相关文章:

  • Trimble天宝三维激光扫描仪在建筑工程竣工测量中的应用【沪敖3D】
  • IntelliJ IDEA 使用技巧与插件推荐
  • Oracle 技术精选学习
  • sqlilabs第三十关到第三十五关靶场攻略
  • windows免登录linux
  • matlab绘图时设置左、右坐标轴为不同颜色
  • springboot+javafx使用aop切面导致的fx:id不能被注入问题
  • 说说你对java lambda表达式的理解?
  • 优化你的 3D Tiles:性能与质量的平衡
  • 【数据结构——线性表】单链表的基本运算(头歌实践教学平台习题)【合集】
  • 设计模式之桥接模式:抽象与实现之间的分离艺术
  • 网络隧道与代理
  • 游戏关卡分析:荒野大镖客2雪山终战
  • Java 中的 LocalDateTime、DateTime 和 Date 的区别解析
  • MATLAB引用矩阵元素的几种方法
  • Linux、File System、Linux基本常用命令
  • 大数据治理:开启数据价值挖掘之旅
  • Linux排查cpu运行负载过高
  • Cobalt Strike 4.8 用户指南-第十四节 Aggressor 脚本
  • C++并发与多线程(高级函数async)
  • 安卓课设版算法计算器
  • X-Forwarded-For注入漏洞
  • Linux - MySQL迁移至一主一从
  • 《变形金刚:赛博坦的陨落》游戏启动难题:‘buddha.dll’缺失的七大修复策略
  • 51c嵌入式~单片机~合集2
  • java Resource 记录
  • Avalonia 开发环境准备
  • C# 中 Console.WriteLine($“{DateTime.Now.Date}“); win 和 docker容器输出不同
  • 回型矩阵:JAVA
  • 从零开始学习 sg200x 多核开发之 sophpi 编译生成 fip.bin 流程梳理