[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: End: porta remota



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[ Arrumando o _duplo_ top-post ]

On 01/11/2007 01:18 AM, sluiz wrote:
> sluiz escreveu:
>> Felipe Augusto van de Wiel (faw) escreveu:
>>> On 01/08/2007 10:05 AM, sluiz wrote:
>>>> Olá pessoal
>>>> Estou precisando saber "de" qual porta uma determinada máquina fez
>>>> conexão com meu servidor. Utilizando o tcpd posso descobrir o IP,
>>>> a port local e o PID,  mas não a porta remota. Já procurei no proc,
>>>> mas não achei nada legível. Alguém tem alguma idéia? Ah, isso é
>>>> para ser utilizado em um script.
>>> 
>>> 	Até onde sei (e pelas pesquisas que fiz), há uma idéia pra
>>> ter um sockfs no kernel, mas o proc e o sysfs não tem a informação
>>> do jeito que você procura, o melhor seria usar o netstat, mas se
>>> você precisa das informações antes da conexão ser estabelecida,
>>> talvez seja melhor usar o iptables e passar os pacotes que baterem
>>> com determinada regra para um programa específico, isso é possível
>>> de ser feito com o netfilter, embora eu nunca tenha feito.
>>
>> Oi Felipe, acho que não dá para chamar um script a partir do iptables.
>> Dá para remeter determinados pacote para outras regras de avaliação,
>> com as opções -N e -j, mas não dá para disparar um script em bash ou
>> perl por exemplo.  Se eu estiver errado seria a minha sorte.

	Eu não falei em executar scripts a partir do iptables, falei
em passar os pacotes para um programa específico. Você pode criar um
módulo no kernel que funciona como "target" pra ser usado com o -j.

	Por exemplo:

	http://svn.netfilter.org/cgi-bin/viewcvs.cgi/trunk/ulog/README?rev=4708


> Acabei de descobrir onde são relacionadas as conexões TCP.
> Ficam em /proc/net/tcp. Só não esta tão óbvio, porque estão
> em hexa, mas estão lá.  Só ainda não sei como identificar
> qual dessas entradas se refere a qual processo

	Você precisa se decidir. Você falou que precisava saber a
porta em "tempo de conexão", ou seja, isso é antes de ter qualquer
informação, isso é no momento da conexão, _teoricamente_ o netstat
te dá a informação que você precisa das conexões estabelecidas.

	Ou crie um daemon ou serviço inetd pra receber as conexões
e fazer as ações definidas.

	Abraço,

- --
Felipe Augusto van de Wiel (faw)
"Debian. Freedom to code. Code to freedom!"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFFprfnCjAO0JDlykYRAlQQAJ4ttlo3xPsc3Y5rX7vb47P5ZtlmcgCg1FnX
fMheYth9HEXKXRkZvCRIxoo=
=Oibm
-----END PGP SIGNATURE-----



Reply to: