🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
6 messages
6 total messages Started by pacolinx Wed, 23 Nov 2005 22:25
saber cuantas conexiones por puerto con bash
#1477
Author: pacolinx
Date: Wed, 23 Nov 2005 22:25
31 lines
1957 bytes

--- puertos.sh ---
IP=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c 6-`
c=`netstat -tupan | grep ESTA | grep $IP:$1 | wc -l`
echo $IP:$1 :. $c
-------------
Se lanza as�: ./puertos.sh 22

Y debe darnos cuantas conexiones hay en el puerto 22.

Pero siempre sale 0.
El problema esta aqui: grep $IP:$1
Pero no se como arreglar.

Algien sabe como
Mil gracias.


-- 
     |||
    (o o)
     (_)
--oOOo-oOOo----------------------------------------------
Pacolinux. http://pagina.de/pacodebian Valencia (Spain) 
Linux Debian Reg. User #1000434411 (http://counter.li.org)
--oOOo-oOOo----------------------------------------------
La cita de hoy: 
Una vez las cosas se juntan en uno por el Amor; otra se separan las unas
de las otras a impulsos del odio de la Discordia.
                -- Emp�docles. (490-430 a.C.) Fil�sofo griego. 
Re: saber cuantas conexiones por puerto con bash
#1478
Author: Claudio
Date: Wed, 23 Nov 2005 23:48
40 lines
2339 bytes
On 2005-11-23, pacolinx <contestaralgrupo@microsoft.com> wrote:
>
>
> --- puertos.sh ---
> IP=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c 6-`
> c=`netstat -tupan | grep ESTA | grep $IP:$1 | wc -l`
> echo $IP:$1 :. $c
> -------------
> Se lanza as�: ./puertos.sh 22
>
> Y debe darnos cuantas conexiones hay en el puerto 22.
>
> Pero siempre sale 0.

Supongo que ser� porque tienes m�s de una ip en esa tarjeta.
El script no es muy preciso. No distingue entre conexiones entrantes y
salientes por ejemplo, le valen puertos como 1221 o si tu IP es de la
forma 1.1.1.1 detecta como buena una conexi�n de la IP 222.222.111.111 a
una local tuya que no sea de eth0, como quieres.

Pero para un apa�o debe ir bien. Te dar� resultados correctos salvo
alguna casualidad de esas que hay una entre 10 millones. Y si hay una
conexi�n, te la marcar� (el error puede que sea que te d� una de m�s,
no de menos).

Si tienes m�s de una ip en esa interface, prueba con:

IPS=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c6-`
for i in $IPS; do
  c=`netstat -tupan | grep ESTA | grep $i:$1 | wc -l`
  echo $i:$1 :. $c
done

La primera instrucci�n tambi�n la puedes cambiar por otra que da lo
mismo, pero no tiene tanta pipe.

IPS=$( /sbin/ifconfig eth0 | sed -n 's/^ *inet addr:\([^ ]*\).*$/\1/p' )

Un saludo.
--claudio--
Re: saber cuantas conexiones por puerto con bash
#1479
Author: pacolinx
Date: Thu, 24 Nov 2005 09:57
40 lines
2563 bytes
Claudio el  Jueves, 24 de Noviembre de 2005 00:48 dijo as� :

> Si tienes m�s de una ip en esa interface, prueba con:
> 
> IPS=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut
> -c6-` for i in $IPS; do
>   c=`netstat -tupan | grep ESTA | grep $i:$1 | wc -l`
>   echo $i:$1 :. $c
> done

Tengo solo una ip, no es ese el problema.
La ip sele bien, el problema es q la variable c, no guarda en numero
de conexiones.


> IPS=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut
> -c6-` for i in $IPS; do
>   c=`netstat -tupan | grep ESTA | grep $i:$1 | wc -l`
>   echo $i:$1 :. $c

Ya se q esta solucion no es perfecta pero no se me corre otra,
para obtener las conexiones a un puerto.

Algien sabe q problema hay?
Mil gracias



-- 
     |||
    (o o)
     (_)
--oOOo-oOOo----------------------------------------------
Pacolinux. http://pagina.de/pacodebian Valencia (Spain) 
Linux Debian Reg. User #1000434411 (http://counter.li.org)
--oOOo-oOOo----------------------------------------------
La cita de hoy: 
Las grandes fortunas no se originan por lo general en los a�os
pr�speros; surgen cuando la desgracia se ceba sobre los pueblos.
                                                -- Conde de Romanones --
Solucionado: saber cuantas conexiones por puerto con bash
#1481
Author: pacolinx
Date: Thu, 24 Nov 2005 10:32
29 lines
2133 bytes
Claudio el  Jueves, 24 de Noviembre de 2005 00:48 dijo as� :

Claudio ahora si que filtra las conexiones que sean desde mi maquina como
origen, que sea solo el puerto 22.

# Script que muestra las puertos conectados
# Por Paco Aldarias
# Ejecutar asi: sh puertos.sh 80
# 24.11.05

ip=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c 6-`
c=`netstat -tupan | grep ESTA |  awk '{print $4}'| grep $ip | cut -d ":" -f2
| grep -w $1 | wc -l`
echo $IP:$1 :. $c

PD: Esto lo uso para superkamba, asi se si algun servidor mio tiene
conexiones.

-- 
     |||
    (o o)
     (_)
--oOOo-oOOo----------------------------------------------
Pacolinux. http://pagina.de/pacodebian Valencia (Spain) 
Linux Debian Reg. User #1000434411 (http://counter.li.org)
--oOOo-oOOo----------------------------------------------
La cita de hoy: 
Para hacer una tarta de manzana, primero tienes que crear un universo.
                -- Carl Sagan. 
Re: saber cuantas conexiones por puerto con bash
#1480
Author: Claudio
Date: Thu, 24 Nov 2005 11:01
23 lines
1806 bytes
On 2005-11-24, pacolinx <contestaralgrupo@microsoft.com> wrote:
> Claudio el  Jueves, 24 de Noviembre de 2005 00:48 dijo as� :
>
>> Si tienes m�s de una ip en esa interface, prueba con:
>> 
>> IPS=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut
>> -c6-` for i in $IPS; do
>>   c=`netstat -tupan | grep ESTA | grep $i:$1 | wc -l`
>>   echo $i:$1 :. $c
>> done
>
> Tengo solo una ip, no es ese el problema.

Pues haz
IP=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c6-`
netstat -tupan | grep ESTA | grep $IP:22
echo $IP

a ver qu� te sale para que nos d� alguna pista porque yo no he
encontrado nada raro.

Un saludo.
--claudio--
Re: Solucionado: saber cuantas conexiones por puerto con bash
#1404
Author: David Serrano (Hue-Bond)
Date: Fri, 02 Dec 2005 10:12
22 lines
1583 bytes
pacolinx, jue20051124@11:32:31(CET):
>
> ip=`/sbin/ifconfig eth0 | grep "inet addr:" | awk '{print $2}' | cut -c 6-`

$ /sbin/ifconfig ofi|awk -F'[ :]' '/inet addr/{print $13}'
192.168.1.123
$ _


> c=`netstat -tupan | grep ESTA |  awk '{print $4}'| grep $ip | cut -d ":" -f2
>| grep -w $1 | wc -l`


# IP=192.168.1.123
# PORT=52030
# netstat -tupan | awk -F'[ :]' /$IP'/ && /ESTA/{$17 == '$PORT' && c++} END {print c}'
1
# _


-- 
 David Serrano
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads