Supondo que você esteja usando Flasks embutidos no servidor HTTP, isso é explicado no Flask documentação (desloque-se para o servidor visível externamente):
If you run the server you will notice that the server is only accessible from your own computer, not from any other in the network. This is the default because in debugging mode a user of the application can execute arbitrary Python code on your computer.
If you have the debugger disabled or trust the users on your network, you can make the server publicly available simply by adding --host=0.0.0.0 to the command line:
flask run --host=0.0.0.0
Isto diz ao seu sistema operacional para escutar em todos os IPs públicos.
A saída nmap
na sua máquina myserver
mostrou a porta 5000 como aberta porque você usou nmap localhost
, que procura abrir portas no host local também conhecido como 127.0.0.1, não 192.168.x.x.