Eres tu el que has creado el script, mi pregunta es, que busca¿ o que dirección has buscado?
La verdad no se si has hecho copy paste del whatismyip
La pregunta seria esa resumiendo como has encontrado la ip pública con el comando netstat.
Que me diga alguien eso a estas alturas tiene cojones. El script de antes lo he creado yo, Aunque a cualquiera que sepa un poco de batch no le habría costado hacerlo, igual que el del wget, no entiendo porque dices lo del copy y paste, Si hay scripts parecidos o iguales por internet, no es miproblema.
Si tuviera que darle créditos a alguien, Lo haría y no sería laprimera vez.
Y sinceramente, sigo sin entender lo que quieres.
Si lo que preguntas es que te explique como funciona el script que hice, dilo con esas palabras, Yo lo único que he preguntado (Y sigo sin saber) es ¿
SI LA IP QUE OBTIENES CON EL SCRIPT QUE HICE ES LA QUE ANDAIS BUSCANDO? Porque no se mucho de redes y puedo confundir la ip que yo creo que es la pública.
Bueno, de todas formas te voy a explicar
MI código porque esto tiene cojon** ya...
For /F "Tokens=1,2,* delims=: "
%%A in ('netstat
^| find /V "127.0.0.1"
^| Find /V "activas"
^| Findstr /v "Direcci.n"'
) Do ( Echo Tu IP publica es:
%%B )
Empiezo por el comando del
netstat antes que el FOR.
El
netstat da un output, algo así:
Conexiones activas
Proto Dirección local Dirección remota Estado
TCP 81.xxx.xxx.xxx:58490 mad01s09-in-f21:https ESTABLISHED
Esa salida la filtro con un
Find /V "activas" para omitir las líneas que contengan ese string, y luego filtro ese nuevo output otra vez con un
Findstr /v "Direcci.n"' que hace exactamente lo mismo (Uso findstr porque he cambiado el código
CHCP en mi consola y no me permite usar "Find" con caracteres especiales como la "
ó" que sería este caracter: "
¢", Aunque ahora que lo pienso mejor, podría haber puesto "
Find /V "local" en vez de usar findstr.)
Por cierto, el puntito "
." del string de
findstr significa "
Cualquier caracter"
Si haces
Findstr /V "M.n.l."Es lo mismo que hacer
Find /V "Manolo"Ya tenemos filtrado el output que nos da el
netstat, Bien, el resultado, una vez filtrado, es algo así:
TCP 81.xxx.xxx.xxx:58490 mad01s09-in-f21:https ESTABLISHED
A mi lo que me interesa mostrar es la ip, y sin el puerto, por eso hay que separar la ip, del resto de palabras en esa línea, por eso en el for uso 3 tokens, para separar el output (Esa linea del netstat) en 3 cadenas, %%a, %%b, y %%c, Las cuales delimito con un espacio y dos puntos "
delims=: " para que cada cadena se separe cuando encuentre un espacio, o dos puntos, entonces así queda la cosa:
Token 1 token 2 token 3
%%a %%b %%c
TCP 81.xxx.xxx.xxx :58490 mad01s09-in-f21:https ESTABLISHEDY luego creo que el resto queda claro... Con "echo" muestro el token 2 (%%B), con pause pauso el script, y con exit salgo.