RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1259314
Accepted
aleksandr barakin
aleksandr barakin
Asked:2022-03-22 22:34:17 +0000 UTC2022-03-22 22:34:17 +0000 UTC 2022-03-22 22:34:17 +0000 UTC

netcat:检查 ip:port 绑定可用性

  • 772

我的服务器分配了多个 IP 地址。它们被添加到外部接口(在示例中,接口eth0和地址出现192.168.2.120和192.168.2.188,这当然不是公开的,但这只是一个示例):

$ ip a l dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:fd:45:fd:10:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.120/24 brd 192.168.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 192.168.2.188/24 scope global secondary eth0
       valid_lft forever preferred_lft forever

如何使用程序nc( netcat) 检查每个地址上某个端口的同时可用性?

linux
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    aleksandr barakin
    2022-03-22T23:10:18Z2022-03-22T23:10:18Z
    • 您可以使用选项指定监听地址-s адрес。
    • 您可以使用选项指定侦听端口-p порт

    例如,让我们使用端口 1024(编号较低的端口需要提升权限 - 您需要nc代表用户运行程序root)。

    在服务器上为每对运行以下命令ip:port:

    $ while :; do echo "ip: 192.168.2.188 port:1024" | nc -q 1 -l -s 192.168.2.188 -p 1024 >/dev/null 2>&1 || break; done &
    

    很明显,相同的 IP 地址和端口必须出现在命令echo和参数中,以便区分答案。nc

    现在从外部(对于服务器)世界,使用相同的程序nc,检查您是否收到来自服务器的响应:

    $ nc 192.168.2.188 1024
    ip: 192.168.2.188 port:1024
    

    每对以此类推ip:port。如果你得到类似的东西:

    (UNKNOWN) [192.168.2.188] 1024 (?) : Connection refused
    

    这意味着(至少从您的本地计算机到服务器)无法访问此 IP 地址和指定端口。


    您还可以使用 http-client(“浏览器”)进行检查。为此,您需要在命令中添加一些 http 信息echo,将其变为如下内容:

    echo -e "HTTP/1.1 200 OK\n\nip: 192.168.2.188 port:1024"
    

    那么链接http://192.168.2.188:1024应该显示来自服务器上运行的程序的相同消息nc。

    但这并不适用于所有端口——例如,我测试的firefox和chromium http 客户端断然拒绝在 25 号端口打开连接。


    您可以使用以下命令杀死nc未在服务器上运行的进程:

    $ kill номер.процесса
    

    您可以看到名称中包含的进程号nc(以及传递给进程的参数),您可以这样做:

    $ pgrep -a nc
    
    • 0

相关问题

  • 如果 fuser -k number/tcp 没有帮助,如何在 Debian 中释放端口?

  • Ubuntu。startx 不起作用。黑屏

  • --syn 在 iptables 中有什么作用?

  • 为什么需要iso格式?

  • C程序中没有密码的sudo

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    表格填充不起作用

    • 2 个回答
  • Marko Smith

    提示 50/50,有两个,其中一个是正确的

    • 1 个回答
  • Marko Smith

    在 PyQt5 中停止进程

    • 1 个回答
  • Marko Smith

    我的脚本不工作

    • 1 个回答
  • Marko Smith

    在文本文件中写入和读取列表

    • 2 个回答
  • Marko Smith

    如何像屏幕截图中那样并排排列这些块?

    • 1 个回答
  • Marko Smith

    确定文本文件中每一行的字符数

    • 2 个回答
  • Marko Smith

    将接口对象传递给 JAVA 构造函数

    • 1 个回答
  • Marko Smith

    正确更新数据库中的数据

    • 1 个回答
  • Marko Smith

    Python解析不是css

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5