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

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

    • [1. NC是什么](#1. NC是什么)
    • [2. NC的常用参数](#2. NC的常用参数)
      • [2.1 开启指定端口TCP监听(-l小写的L)](#2.1 开启指定端口TCP监听(-l小写的L))
      • [2.2 测试端口是否能访问(-v)](#2.2 测试端口是否能访问(-v))
      • [2.3 开启指定端口UDP监听(-u)](#2.3 开启指定端口UDP监听(-u))
      • [2.4 端口扫描(-z)](#2.4 端口扫描(-z))
      • [2.5 指定超时时间(-w)](#2.5 指定超时时间(-w))
      • [2.6 指定本地端口号连接(-p)](#2.6 指定本地端口号连接(-p))
      • [2.7 指定的命令(-e)](#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监听,等待来自远程主机的连接。
用法:

bash 复制代码
nc -l 8448

示例:

先在服务器A上添加防火墙配置,并开启8448/tcp监听

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

作用:

测试端口是否可以访问
用法:

带参数-v或者不带任何参数,带v会明确显示是否成功

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

示例:

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

作用:

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

bash 复制代码
nc -u -l 8449

示例:

先在服务器A上添加防火墙配置,并开启8449/udp监听

测试:

bash 复制代码
nc -u -v 192.168.126.30 8449

2.4 端口扫描(-z)

作用:

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

bash 复制代码
#        目标ip      目标端口范围
nc -zv 192.168.126.30 1-9999

示例:

此命令和nmap -p的功能类似

2.5 指定超时时间(-w)

作用:

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

bash 复制代码
nc -vw 5 192.168.126.30 8448

示例:

使用-w后会在连接创建完5秒后自动断开.之前我们没有配置-w的时候是需要手动按ctrl+c进行断开连接

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

作用:

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

bash 复制代码
#   客户端端口  服务端ip      服务端端口
nc -p 4479 192.168.126.30 8448

示例:

默认情况下会用随机端口进行连接

指定端口后,在服务端看到客户端连接过来的端口就是我们所指定的4479

2.7 指定的命令(-e)

作用:

在连接建立后执行指定的命令。

如果是-e /bin/bash 就相当于开了个不要密码的连接,生产中慎用.
用法:

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

示例:

##5.总结

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

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

相关推荐
HIT_Weston11 小时前
84、【Ubuntu】【Hugo】搭建私人博客:文章目录(三)
linux·运维·ubuntu
qq_54702617912 小时前
Linux 常用快捷键及文本编辑器
linux·运维·服务器
埃伊蟹黄面13 小时前
磁盘级文件系统核心原理解析
linux·文件
醇氧13 小时前
【Linux】 安装 Azul Zulu JDK
java·linux·运维
一直跑15 小时前
查看显卡驱动版本,查看哪个用户使用显卡(GPU)进程
linux·服务器
滴水之功15 小时前
Windows远程桌面(非图形化界面)连接Ubuntu22.04
linux
借你耳朵说爱你15 小时前
在Linux上挂载磁盘
linux
小成2023032026516 小时前
Linux高级
linux·开发语言
ICT系统集成阿祥16 小时前
Linux运维最万能的三条指令
linux·运维·服务器
CAU界编程小白16 小时前
Linux系统编程系列之模拟文件操作
linux·算法