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: