检查防火墙
1. 打开防火墙高级设置
2. 入站规则
可以看到上面有两个python的入站规则,这两条规则都是针对python.exe使用的全部端口的,但是一个是针对udp协议的一个是针对tcp协议的,如下图:
入站规则中,这两条规则前面都是🚫符号,说明是阻止连接的,也就是防火墙会丢弃任何远程端口发出的,通过任何本地端口,发送给python.exe的tcp和udp数据包,也就是禁止主动传入给python的数据包,因为是入站规则,所以规则禁止的是数据包传入,不影响数据包主动传出。
3. 调整入站规则
双击点开TCP的入站规则,在常规选项卡下,将阻止连接改为允许连接,再点击应用即可,结果如下图,可以看见该规则由🚫变为了绿色的允许:
4. 测试:
主机在某一目录下打开shell,运行如下代码,开放端口:
python -m http.server 8000
在虚拟机上就能访问该目录了
5. 总结
明白了防火墙的工作原理以后可以通过很多种方式连接主机,可以禁用掉刚刚那条python规则,并自己写一条开放8000端口的入站规则。