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

Re: End: porta remota



Muito legal Felipe, valeu!
Abraço

Felipe Augusto van de Wiel (faw) escreveu:
-----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: