【问题标题】:How to run a service on a specific port without binding with the IP如何在不绑定 IP 的情况下在特定端口上运行服务
【发布时间】:2019-06-16 20:31:54
【问题描述】:

我想在特定端口上运行一个测试监听器以检查该端口是否打开,但是每当我使用 netcat 启动一个监听器时,它都会与0.0.0.0:8080 IP 地址绑定。 我想启动一个通配符服务,如:::8080 using netcat -l -p 8080 或任何已知方式。

我用来检查可用性的脚本

with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
if sock.connect_ex((ip,port)) == 0:
        print "Port is open";
else:
        print "Port is close";

【问题讨论】:

    标签: python linux tcp port netcat


    【解决方案1】:

    您想通过侦听器检查端口是否打开?通过监听你打开端口。当该端口上没有任何东西在运行时,该端口将关闭。

    如果你想从外部检查,如果一个端口是开放的,使用像 nmap 这样的端口扫描器。如果您想从内部检查它,请运行 netstat -tulpen 以查看正在侦听哪些端口。

    当某些东西与0.0.0.0 绑定时,这是一个通配符。它代表所有可能的 IPv4 地址。您的“通配符服务”是一样的,只是用于 IPv6。

    【讨论】:

    • 我正在使用带有套接字模块的 python 脚本来检查端口可用性。它仅在该端口中运行服务时检查。如果服务正在运行,则返回 0,否则返回 1。为了满足这个条件,我使用 netcat 启动服务,但是即使服务在远程主机上运行,​​它也无法获取状态,它给出了错误“无法通过绑定获取 0.0.0.0:8080”
    • 嗯,您的脚本似乎有问题?
    • 一开始我也想到了,但是我使用的是我在谷歌上找到的一个,所以它非常适合其他人。我已经提到了它进行端口检查的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 2021-09-03
    • 2021-06-14
    • 2016-11-25
    • 2017-09-30
    • 1970-01-01
    相关资源
    最近更新 更多