首先贴一个图,我服务器上面开启的端口情况,服务器是阿里云 然后除了 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 ,请大佬帮我看看,为什么我明明开启了这些端口但是检测不到?
1
lfzyx 2018-05-22 20:44:00 +08:00
ss -lnt 看下
|
2
fashioncj 2018-05-22 20:49:38 +08:00 via iPhone
nmap 试一试
|
3
Hopetree OP @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 查到的是没有开启 |
4
skylancer 2018-05-22 20:52:39 +08:00
iptables 呢..
|
5
111111111111 2018-05-22 21:03:25 +08:00 via Android
@Hopetree 端口是 SMTP 服务器才会开的,django 这里只是当了客户端,哪需要开端口监听
|
6
Hopetree OP @111111111111 我正在查看关于服务器端口的一些资料,可能是我对服务器的端口不清楚所以导致对目前我遇到的这个情况非常困惑吧,但是话说回来,我上面截图的显示,不是应该已经把这些端口开启了吗?为什么在服务器中用命令查看却又显示只开启了 22 和 80 ?
|
7
111111111111 2018-05-22 21:36:54 +08:00 via Android 1
|
9
Hopetree OP @111111111111 好吧,你这个回答解决了我的问题,我以为阿里云的这个地方是开启服务器的端口,原来只是防火墙允许端口,瞬间就明白了,而且对于之前我的一个其他关于这个疑惑也能够解释了,非常感谢
|
10
opengps 2018-05-23 08:15:34 +08:00
阿里云安全组相当于传统架构里的物理防火墙,主机内部不能控制
|