V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Hopetree
V2EX  ›  Python

关于检测端口是否开放的问题,我明明是开启了端口,为什么检测没有?

  •  
  •   Hopetree ·
    Hopetree · 2018-05-22 20:38:13 +08:00 · 3793 次点击
    这是一个创建于 2376 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先贴一个图,我服务器上面开启的端口情况,服务器是阿里云 Snipaste_2018-05-22_20-22-26.png 然后除了 80 和 22 以外,我可以肯定我的 465 也是开启了的,因为我收发邮件是测试过的,其他没测试过 但是我用自己的 Python 代码还有其他端口测试平台去检查,都只检测到 80 和 22 开了,465 都检测不出来开了,这个我就很纳闷了 我 Python 代码

    def ConnectFunc(host):
        while not q.empty():
            port  = q.get()
            try:
                s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                s.settimeout(1)
                s.connect((host, port))
                print('[+] {} open'.format(port))
                s.close()
            except Exception as e:
                pass
    

    我的服务器 HOST 是 119.23.106.34 ,请大佬帮我看看,为什么我明明开启了这些端口但是检测不到?

    10 条回复    2018-05-23 08:15:34 +08:00
    lfzyx
        1
    lfzyx  
       2018-05-22 20:44:00 +08:00
    ss -lnt 看下
    fashioncj
        2
    fashioncj  
       2018-05-22 20:49:38 +08:00 via iPhone
    nmap 试一试
    Hopetree
        3
    Hopetree  
    OP
       2018-05-22 20:52:12 +08:00
    @lfzyx

    ```
    LISTEN 0 128 *:22 *:*
    LISTEN 0 1 127.0.0.1:32000 *:*
    LISTEN 0 80 127.0.0.1:3306 *:*
    LISTEN 0 128 127.0.0.1:6379 *:*
    LISTEN 0 128 *:80 *:*
    LISTEN 0 128 :::80 :::*
    ```
    看样子是只有 22 和 80 端口,但是我觉得很奇怪的是,我的 django 项目明明可以收发邮件啊,也就是 465 是正常开启才能做到的,为什么这里会不显示呢?还有其他的端口,我服务器上面都是开的,为什么使用 ss 查到的是没有开启
    skylancer
        4
    skylancer  
       2018-05-22 20:52:39 +08:00
    iptables 呢..
    111111111111
        5
    111111111111  
       2018-05-22 21:03:25 +08:00 via Android
    @Hopetree 端口是 SMTP 服务器才会开的,django 这里只是当了客户端,哪需要开端口监听
    Hopetree
        6
    Hopetree  
    OP
       2018-05-22 21:19:34 +08:00
    @111111111111 我正在查看关于服务器端口的一些资料,可能是我对服务器的端口不清楚所以导致对目前我遇到的这个情况非常困惑吧,但是话说回来,我上面截图的显示,不是应该已经把这些端口开启了吗?为什么在服务器中用命令查看却又显示只开启了 22 和 80 ?
    111111111111
        7
    111111111111  
       2018-05-22 21:36:54 +08:00 via Android   ❤️ 1
    @Hopetree 你没有任何一张图片可以可以说明端口开始了……

    第一张图只是阿里云的防火墙允许的了端口列表,你就算把服务器关机也不会发生变化的
    Hopetree
        9
    Hopetree  
    OP
       2018-05-22 23:14:26 +08:00
    @111111111111 好吧,你这个回答解决了我的问题,我以为阿里云的这个地方是开启服务器的端口,原来只是防火墙允许端口,瞬间就明白了,而且对于之前我的一个其他关于这个疑惑也能够解释了,非常感谢
    opengps
        10
    opengps  
       2018-05-23 08:15:34 +08:00
    阿里云安全组相当于传统架构里的物理防火墙,主机内部不能控制
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2687 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:56 · PVG 19:56 · LAX 03:56 · JFK 06:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.