ver resultados puertos puerto para filtrar comando abiertos shell awk netstat

shell - puertos - resultados de netstat



Extraer IP de la salida netstat (5)

La salida netstat contiene cosas como ...

tcp 0 0 0.0.0.0:80 221.126.149.99:51973 ESTABLISHED 23879/apache2 tcp 0 0 0.0.0.0:80 66.249.68.154:40883 ESTABLISHED 23899/apache2 tcp 0 0 0.0.0.0:80 66.249.68.81:41200 ESTABLISHED 23892/apache2 tcp 0 0 0.0.0.0:80 66.249.67.121:59355 ESTABLISHED 23905/apache2 tcp 0 4465 0.0.0.0:80 110.75.175.27:48139 ESTABLISHED 23901/apache2

Yo uso estos comandos

netstat -anpt|grep apache2 |grep ESTABLISHED | awk -F "[ :]" ''{print $4}''

No pude obtener el IP, ¿alguna pista?


Estás muy cerca. Solo necesita cambiar su expresión regular de separador de campo para que no considere un solo espacio en blanco o dos puntos como el separador de campo:

netstat -anpt|grep apache2 |grep ESTABLISHED | awk -F "[ :]*" ''{print $4}''


Puedes probar

netstat -anpt|awk ''BEGIN {FS="[ :]+"};/ESTABLISHED/ && /apache/{print $6}''

Por alguna razón , estoy contando 6 campos, mientras que todos los demás cuentan 4 ... ¿Debería comprar anteojos nuevos? :)

HTH!


netstat -anpt | awk ''/apache2/&&/ESTABLISHED/{sub(/:*/,"",$4);print $4} ''


Esto le devolverá una lista de direcciones IP únicas a las que está conectado también:

netstat -anpt | grep apache2 |grep ESTABLISHED | awk ''{ print $5 }'' | cut -d: -f1 | sort -u

Bueno, creo que necesito cambiar mis gafas también = P


netstat -ant | grep 80 | wc -l