CentOS 使用nc命令进行端口扫描

2023-11-12

目录

CentOS 6 中nc命令的使用

CentOS 7 中nc命令的使用


使用nc命令可以探测目标主机的端口。但是在Centos 6 和 CentOS 7中这个命令的使用有所不同,甚至可以说功能已经不同,下面分别是CentOS 6 和 CentOS 7中对nc命令的解释:

 CentOS 6:nc - arbitrary TCP and UDP connections and listens

 CentOS 7:ncat - Concatenate and redirect sockets

 

CentOS 6 中nc命令的使用

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

# nc -h

usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]

          [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]

          [-x proxy_address[:port]] [hostname] [port[s]]

        Command Summary:

                -4              Use IPv4

                -6              Use IPv6

                -D              Enable the debug socket option

                -d              Detach from stdin

                -h              This help text

                -i secs         Delay interval for lines sent, ports scanned

                -k              Keep inbound sockets open for multiple connects

                -l              Listen mode, for inbound connects

                -n              Suppress name/port resolutions

                -p port         Specify local port for remote connects

                -r              Randomize remote ports

                -S              Enable the TCP MD5 signature option

                -s addr         Local source address

                -T ToS          Set IP Type of Service

                -C              Send CRLF as line-ending

                -t              Answer TELNET negotiation

                -U              Use UNIX domain socket

                -u              UDP mode

                -v              Verbose

                -w secs         Timeout for connects and final net reads

                -X proto        Proxy protocol: "4", "5" (SOCKS) or "connect"

                -x addr[:port]  Specify proxy address and port

                -z              Zero-I/O mode [used for scanning]

        Port numbers can be individual or ranges: lo-hi [inclusive]

参数说明:

  • -h 在线帮助。
  • -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
  • -l 使用监听模式,管控传入的资料。
  • -n 直接使用IP地址,而不通过域名服务器。
  • -o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
  • -p<通信端口> 设置本地主机使用的通信端口。
  • -r 随机指定本地与远端主机的通信端口。
  • -s<来源位址> 设置本地主机送出数据包的IP地址。
  • -u 使用UDP传输协议。
  • -v 显示指令执行过程。
  • -w<超时秒数> 设置等待连线的时间。
  • -z 使用0输入/输出模式,只在扫描通信端口时使用。

示例

1.扫描TCP端口,端口范围是 20-2000

1

2

3

# nc -rz  -w 2 10.252.32.122 20-2000

Connection to 10.252.32.122 111 port [tcp/sunrpc] succeeded!

Connection to 10.252.32.122 22 port [tcp/ssh] succeeded!

2.扫描UDP端口,端口范围是 20-2000

1

# nc -z -u -w 2 10.252.32.122 20-2000

3.扫描指定端口,扫描 111端口

1

2

 # nc -nvv -w 2 10.252.32.122 111 

Connection to 10.252.32.122 111 port [tcp/*] succeeded!

 

CentOS 7 中nc命令的使用

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

# nc -h

Ncat 6.40 ( http://nmap.org/ncat )

Usage: ncat [options] [hostname] [port]

 

Options taking a time assume seconds. Append 'ms' for milliseconds,

's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).

  -4                         Use IPv4 only

  -6                         Use IPv6 only

  -U, --unixsock             Use Unix domain sockets only

  -C, --crlf                 Use CRLF for EOL sequence

  -c, --sh-exec <command>    Executes the given command via /bin/sh

  -e, --exec <command>       Executes the given command

      --lua-exec <filename>  Executes the given Lua script

  -g hop1[,hop2,...]         Loose source routing hop points (8 max)

  -G <n>                     Loose source routing hop pointer (4, 8, 12, ...)

  -m, --max-conns <n>        Maximum <n> simultaneous connections

  -h, --help                 Display this help screen

  -d, --delay <time>         Wait between read/writes

  -o, --output <filename>    Dump session data to a file

  -x, --hex-dump <filename>  Dump session data as hex to a file

  -i, --idle-timeout <time>  Idle read/write timeout

  -p, --source-port port     Specify source port to use

  -s, --source addr          Specify source address to use (doesn't affect -l)

  -l, --listen               Bind and listen for incoming connections

  -k, --keep-open            Accept multiple connections in listen mode

  -n, --nodns                Do not resolve hostnames via DNS

  -t, --telnet               Answer Telnet negotiations

  -u, --udp                  Use UDP instead of default TCP

      --sctp                 Use SCTP instead of default TCP

  -v, --verbose              Set verbosity level (can be used several times)

  -w, --wait <time>          Connect timeout

      --append-output        Append rather than clobber specified output files

      --send-only            Only send data, ignoring received; quit on EOF

      --recv-only            Only receive data, never send anything

      --allow                Allow only given hosts to connect to Ncat

      --allowfile            A file of hosts allowed to connect to Ncat

      --deny                 Deny given hosts from connecting to Ncat

      --denyfile             A file of hosts denied from connecting to Ncat

      --broker               Enable Ncat's connection brokering mode

      --chat                 Start a simple Ncat chat server

      --proxy <addr[:port]>  Specify address of host to proxy through

      --proxy-type <type>    Specify proxy type ("http" or "socks4")

      --proxy-auth <auth>    Authenticate with HTTP or SOCKS proxy server

      --ssl                  Connect or listen with SSL

      --ssl-cert             Specify SSL certificate file (PEM) for listening

      --ssl-key              Specify SSL private key (PEM) for listening

      --ssl-verify           Verify trust and domain name of certificates

      --ssl-trustfile        PEM file containing trusted SSL certificates

      --version              Display Ncat's version information and exit

 

See the ncat(1) manpage for full options, descriptions and usage examples

可以看到centos 6中nc 原有的 -r,-z选项在centos 7中都已经没有了,那么如何测试端口连通性呢?可以使用如下格式来测试端口的连通性

1

nc -w 1   IP地址   端口 < /dev/null && echo "tcp port ok"

示例

tcp端口测试

1

2

3

4

# nc  10.252.35.37 111 < /dev/null && echo "tcp port ok"

tcp port ok

# nc  10.252.35.37 21 < /dev/null && echo "tcp port ok"

Ncat: Connection refused.

 

参考:

https://www.cnblogs.com/panzhicheng/p/5704561.html

https://www.cnblogs.com/richerdyoung/p/8336893.html

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS 使用nc命令进行端口扫描 的相关文章

  • 使用 Python 将阿拉伯语或任何从右到左书写系统的字符串打印到 Linux 终端

    非常简单的例子是 city print city 我期望输出是 但实际上输出是相反的字符串 字母看起来有点不同 因为它们有开始 中间和结束形式 我无法将其粘贴到此处 因为复制粘贴会再次更正字符串的顺序 如何在 Linux 终端上正确打印阿拉
  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • SIGHUP 用于重新加载配置

    根据signal 7 SIGHUP用于检测控制终端的挂起或控制进程的死亡 然而 我遇到过很多 OSS 守护进程 服务 其中SIGHUP用于启动配置的重新加载 这里有一些例子 hostapd sshd snort etc 这是实现重新加载的标
  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • 为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?

    我正在写一个光线追踪器 最近 我在程序中添加了线程 以利用 i5 四核上的附加内核 奇怪的是 应用程序的调试版本现在运行速度变慢 但优化后的构建运行速度比添加线程之前更快 我将 g pg 标志传递给 gcc 以进行调试构建 并将 O3 标志
  • X 按键/释放事件捕获,与焦点窗口无关

    我想记录所有传入的按键事件 无论哪个窗口处于焦点状态或指针位于何处 我编写了一个示例代码 它应该捕获当前焦点窗口的按键事件 include
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 路由是否会影响具有绑定源地址的套接字?

    假设我有两个网络接口 eth0有地址10 0 0 1 eth1有地址192 168 0 1 Using route or ip route add我已将其设置为路由 所有地址至eth0 1 2 3 4只为了eth1 所以数据包到1 2 3
  • 在bash中用其他文件过滤一个文件

    我有一个带有数字的文件 例如 cat file 31038467 32048169 33058564 34088662 35093964 31018168 31138061 31208369 31538163 31798862 和其他例如
  • 我们可以在 Bash 脚本中使用 PHP 吗?

    我有一个 bash 脚本abcd sh bin sh for i in seq 8 do ssh w i uptime ps elf grep httpd wc l free m mpstat done pid sleep 1 kill 9
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • 如何防止 CMake 在构建时(而不是安装时)为共享库创建符号链接?

    我正在使用 CMake 在 Linux 上使用 Bullet3 构建一个项目 在构建整个解决方案时 它会构建附加了 SOVERSION 的 Bullet 输出库 并创建一个不带版本的符号链接 对于我的特定场景 我不喜欢这种行为 并且我不想编
  • 为什么 RHEL 上的 bash 中 `read -t` 没有超时?

    Why read t在 RHEL5 或 RHEL6 上从管道读取时不会超时 这是我的示例 在从管道读取数据时 我的 RHEL 盒子不会超时 tail f logfile log grep something read t 3 variabl
  • 在哪里可以找到所有 C 标准库的源代码?

    我正在寻找所有 C 标准库的完整源代码 也就是说 我正在寻找 stdio h stdlib h string h math h 等的源代码 我想看看它们是如何创建的 我认为这取决于不同的平台 但 Linux 或 Windows 都会受到欢迎
  • C/C++ with GCC:静态地将资源文件添加到可执行文件/库

    有人知道如何使用 GCC 将任何资源文件静态编译为可执行文件或共享库文件吗 例如 我想添加永远不会改变的图像文件 如果它们改变了 我无论如何都必须替换该文件 并且不希望它们位于文件系统中 如果这是可能的 我认为这是因为 Visual C f
  • Tk 初始化失败:无显示名称且无 $DISPLAY 环境变量

    我试图从 Ubuntu 终端调用 Centos 服务器上的工具 我收到以下错误 Tk 初始化失败 没有显示名称 也没有 DISPLAY 环境变量 请帮我解决这个问题 提前致谢 连接到你的 CentOS 机器ssh Y其中 每man ssh
  • 在 shell 脚本中将脚本目录更改为用户的 homedir

    在我的 bash 脚本中 我需要将当前目录更改为用户的主目录 如果我想更改为用户的foo主目录 从命令行我可以执行以下操作 cd foo 效果很好 但是当我从script它告诉我 bar sh line 4 cd foo No such f
  • 检查 Linux 中给定进程的打开 FD 限制

    我最近有一个 Linux 进程 泄露 了文件描述符 它打开了文件描述符 但没有正确关闭其中一些文件描述符 如果我对此进行监控 我就可以提前得知该过程已达到其极限 有没有一种很好的 Bash 或 Python 方法来检查 Ubuntu Lin

随机推荐

  • linux文件内容操作命令,linux 操作系统中cat查看文件内容命令的使用

    cat命令的用途是连接文件或标准输入并打印 这个命令常用来显示文件内容 或者将几个文件连接起来显示 或者从标准输入读取内容并显示 它常与重定向符号配合使用 1 命令格式 cat 选项 文件 2 命令功能 cat主要有三大功能 1 一次显示整
  • 华为安防产品VCN资料下载

    首先登录网站 华为入口 下载后安装 win10 然后就能看到客户端 注册登录 点击资料领航 进入网页 然后就可以下载了
  • 您的计算机已被Malloxx勒索病毒感染?恢复您的数据的方法在这里!

    导言 在数字时代 malloxx勒索病毒已经成为一个可怕的威胁 给个人 企业和组织带来了无法估量的损失 本文91数据恢复将深入探讨 malloxx勒索病毒的运作方式 并提供一些独特的方法来恢复被它加密的数据文件 以及如何在被其困扰之前采取
  • Linux高性能服务器编程|阅读笔记:第5章 - Linux网络编程基础API

    目录 简介 5 1 socket地址API 5 1 1 主机字节序和网络字节序 5 1 2 通用socket地址 5 1 3 专用socket地址 5 1 4 IP地址转换函数 5 2 创建socket 5 3 命名socket 5 4 监
  • 面试题目收集(1)

    本博客的 面试题目搜集系列不错 1 面试题目搜集1 2 面试题目搜集2 3 面试题目搜集3 4 面试题目搜集4 5 面试题目搜集5 6 面试题目搜集6 1 字符串取除多余的空格 包括行首的空格 单词与单词之间只能有多余的空格 结尾不能有空格
  • pytorch简单的逻辑回归

    import torch import torch nn as nn import torchvision import torchvision transforms as transforms Hyper parameters input
  • vue与ios、Android交互问题总结

    1 ios与vue交互可以显示iframe的页面内容 但是不能与iframe交互 Android可以 2 ios可以直接调用html页面 但是url传参只能是问号传参 不可用json对象 Android可以 3 Android对js语法要求
  • Spark高手之路3—Spark运行架构

    文章目录 Spark 运行架构 一 运行架构 二 核心组件 Driver Executor Master Worker ApplicationMaster 三 核心概念 1 Executor 与 Core 2 并行度 Parallelism
  • 【学习笔记向】零基础小白快速制作最简陋MMD(VRoid + Unity)

    特别鸣谢B站UP主十七时的大力支援 学生时期总会有一两个没有安排的周末 不如我们来嗑CP 学习 做MMD吧 第一天 下载软件和素材 熟悉Unity 下载软件可能需要很久 请耐心 一 软件 1 VRoid Studio 用于零基础建模 B站上
  • java必知必会_Java必知必会-Spring Security

    一 Spring Security介绍 1 框架介绍 Spring 是一个非常流行和成功的 Java 应用开发框架 Spring Security 基于 Spring 框架 提供了一套 Web 应用安全性的完整解决方案 一般来说 Web 应
  • 基于DFA方法的健康人与癫痫病人EEG数据分析附代码

    引言 DFA分析方法是由C K提出的一种研究时间序列波动长时相关性的方法 主要用来区别复杂系统本身产生的波动和由外界及环境刺激作用在系统上产生的波动 外部刺激产生的变化假设引起了局部效应 而系统本身内部的动力学产生的变化假设展示了长时的相关
  • 浅拷贝和深拷贝: copy模块的copy()和deepcopy()函数(*^▽^*)

    我们在平时处理列表和字典的时候 有时候希望创建一个列表或者字典的副本拿出来使用 但是同时我们也不希望列表 字典 和其列表 字典 副本还保留着某种联系的时候 比如说我们在修改列表的时候副本也跟着同步被修改了 这是我们最不想看到的情况 这种情况
  • 树莓派教程 - 1.2 树莓派GPIO库wiringPi 软件PWM

    Git例程源码仓库 https github com ZhiliangMa raspberry git 使用到的硬件 led 200 左右的电阻 杜邦线 上一节使用硬件PWM来控制led亮度 可树莓派的硬件PWM引脚只有1路 在实际应用中
  • php生成密码及密码检验

    1 生成密码 password hash test password PASSWORD DEFAULT 2 密码检验 hash 2y 10 ckeTXO nnKfWTDDYRSwGWu0xste 55Cp0RIpolBldDOXZ61ecZ
  • vscode同时编辑多处文字 批量替换编辑内容

    先按Ctrl F打开搜索框 然后搜索要编辑的内容 接着按Ctrl Shift L就可以选中对应的所有内容了 然后可以全部编辑和替换了 按了Ctrl shift L之后把搜索框关闭就可以同时编辑多处了 此处我就是搜索items
  • NLP 中 Bilstm-attentio的使用

    NLP 中 Bilstm attentio的使用 bilstm attention 理解 bilstm attention的作用 bilstm attention 编码实现 bilstm attention 理解 bilstm attent
  • java中的运算符

    java中常见的运算符 1 public static void q1 int a 5 0000 0101 int b 3 0000 0011 a b 0000 00111 二进制两个都为0的时候 结果是0 否则是1 System out
  • qt中lable中更改字体字号加粗等

    以下内容摘抄博客 https blog csdn net superbfly article details 53199731 utm medium distribute pc relevant none task blog BlogCom
  • 音频驱动篇之pop音攻略

    接触音频驱动工作也有2年的时间了 这这段时间里深刻感受了手机行业的更新换代是MB的迅速 2年的时间里 从TI到QUALCOMM 从android2 1到4 2 从单核到四核 经我参与的项目就有20款 日子是相当的难过 今天回头来说一些我在研
  • CentOS 使用nc命令进行端口扫描

    目录 CentOS 6 中nc命令的使用 CentOS 7 中nc命令的使用 使用nc命令可以探测目标主机的端口 但是在Centos 6 和 CentOS 7中这个命令的使用有所不同 甚至可以说功能已经不同 下面分别是CentOS 6 和