Bueno este codigo me lo paso un bune amigo @moften


Este Shellscript cumple con la función de mostrar las conexiones activas en nuestro equipo con linux, es una buena herramienta para monitorear nuestras conexiones.


Para poder usarlo necesitaras copiar el código en un archivo con la extensión .sh después deberas darle permisos de ejecución con

Código: Seleccionar todo

# chmod +x script.sh
ahora lo ejecutaremos con

Código: Seleccionar todo

# ./script.sh .

Código: Seleccionar todo


#!/bin/sh
 
parse_num()
{
    x=$(echo $1 | sed -n 's/0*//p')
    if [ $(echo $x | wc -c) -eq 1 ]
    then
        x=0
    fi
    echo $x
}
 
 
hex_to_ip()
{
    index=7
    output=''
    while [ $index -gt 0 ]
    do
        end=$(expr $index + 1)
        value=$(printf "%d" "0x$(parse_num $(echo $1 | cut -b $index-$end))")
        output="$output.$value"
        index=$(expr $index - 2)
    done
    echo $(echo $output | cut -b 2-)
}
printf "         Src IP  Src port          Dst IP  Dst port\n"
 
cat /proc/net/tcp | while read line; do
    srcip=$(hex_to_ip $(echo $line | sed -n 's/^[0-9]*: //p' | sed 's/:.*//p'))
    srcport=$(printf "%d" 0x$(parse_num $(echo $line | sed  -n 's/^ *[0-9]*: [0-9,A-F]*://p' | cut "-d " -f 1)))
    dstip=$(hex_to_ip $(echo $line | sed -n 's/^[0-9]*: [0-9,A-F]*:[0-9,A-F]* //p' | sed -n 's/:.*//p'))
    dstport=$(printf "%d" 0x$(parse_num $(echo $line | sed -n 's/^ *[0-9]*: [0-9,A-F]*:[0-9,A-F]* [0-9,A-F]*://p' | cut "-d " -f1)))
     
    printf "%15s %9s %15s %9s\n" $srcip $srcport $dstip $dstport
done
Fuente

[Enlace externo eliminado para invitados]
1337 & culture!
Responder

Volver a “Fuentes”