Eu só quero verificar quais portas estão abertas no meu dispositivo móvel quando ele está conectado à Internet através de 4g, mas simplesmente fazer netcat ou até mesmo fazer ping no endereço "4g ip" não funciona. Quando conectado via wifi, o ping & netcat para seu endereço IP interno funciona bem, e também sou capaz de executar ping em endereços IP externos, então o problema não está na minha própria conectividade.
$ ping 192.168.1.100
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=248 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=32.6 ms
Obtive o endereço IP do telefone em whatismyip.com e, ao fazer ping, recebo
$ ping -4 82.132.xxx.xxx
PING 82.132.xxx.xxx (82.132.xxx.xxx) 56(84) bytes of data.
^C
--- 82.132.xxx.xxx ping statistics ---
23 packets transmitted, 0 received, 100% packet loss, time 22532ms
Apenas mostrando que fazer ping no Google funciona bem:
$ ping -v -4 google.com
ping: socket: Permission denied, attempting raw socket...
PING google.com (216.58.204.46) 56(84) bytes of data.
64 bytes from lhr25s12-in-f14.1e100.net (216.58.204.46): icmp_seq=1 ttl=53 time=3.71 ms
64 bytes from lhr25s12-in-f14.1e100.net (216.58.204.46): icmp_seq=2 ttl=53 time=3.07 ms
Suponho que não seja possível simplesmente ser roteado para qualquer dispositivo móvel, mesmo que você saiba o endereço IP. Existem outras alternativas?
Responder1
Muitas operadoras móveis implementam CGNAT, e o endereço externo visto pelos sites não pertence ao dispositivo – pertence ao gateway NAT executado pelo ISP. Portanto, não confie no endereço a menos que você o vejano próprio dispositivo.
Além disso, a maioria das operadoras móveis não fornece endereços IP dedicados – elas realizam NAT "1:muitos", não apenas NAT 1:1, e o endereço externo é usado simultaneamente por vários clientes (assim como seu roteador doméstico compartilha seu roteador externo). endereços entre todos os dispositivos LAN).
Mesmo aqueles operadores quefazerdedicar um endereço por cliente (seja direto ou NAT 1:1) frequentemente o coloca atrás de um firewall que bloqueia todas as conexões de entrada. Isso tem dois propósitos: evita que o cliente hospede serviços em sua conexão 4G (o que geralmente não é permitido pelos termos de serviço) e evita que várias verificações de botnets e conexões não solicitadas esgotem a bateria do dispositivo.
e também consigo fazer ping em endereços IP externos
Na maioria das vezes, você está apenas executando ping no gateway NAT, não no dispositivo em si.