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=4708Acabei 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 processoVocê 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----- |