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

2018-05-22 20:38:13 +08:00
 Hopetree

首先贴一个图,我服务器上面开启的端口情况,服务器是阿里云 然后除了 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 ,请大佬帮我看看,为什么我明明开启了这些端口但是检测不到?

3702 次点击
所在节点    Python
10 条回复
lfzyx
2018-05-22 20:44:00 +08:00
ss -lnt 看下
fashioncj
2018-05-22 20:49:38 +08:00
nmap 试一试
Hopetree
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
2018-05-22 20:52:39 +08:00
iptables 呢..
111111111111
2018-05-22 21:03:25 +08:00
@Hopetree 端口是 SMTP 服务器才会开的,django 这里只是当了客户端,哪需要开端口监听
Hopetree
2018-05-22 21:19:34 +08:00
@111111111111 我正在查看关于服务器端口的一些资料,可能是我对服务器的端口不清楚所以导致对目前我遇到的这个情况非常困惑吧,但是话说回来,我上面截图的显示,不是应该已经把这些端口开启了吗?为什么在服务器中用命令查看却又显示只开启了 22 和 80 ?
111111111111
2018-05-22 21:36:54 +08:00
@Hopetree 你没有任何一张图片可以可以说明端口开始了……

第一张图只是阿里云的防火墙允许的了端口列表,你就算把服务器关机也不会发生变化的
kingwrcy
2018-05-22 21:42:36 +08:00
优先级 改为 1
Hopetree
2018-05-22 23:14:26 +08:00
@111111111111 好吧,你这个回答解决了我的问题,我以为阿里云的这个地方是开启服务器的端口,原来只是防火墙允许端口,瞬间就明白了,而且对于之前我的一个其他关于这个疑惑也能够解释了,非常感谢
opengps
2018-05-23 08:15:34 +08:00
阿里云安全组相当于传统架构里的物理防火墙,主机内部不能控制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/456948

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX