[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Adresse IP d'un client telnet...



[email protected] (minou) écrit :

> Bonjour a tous.  J'ai déja posé une question semblable, mais malgré
> l'informatin que Emmanuel m'a donné, ca ne règle pas mon probleme.
> Ce que je tente de faire, c'est d'obtenir l'adresse IP d'un client
> telnet au moment ou il se connecte.  Je suis persuadé qu'il existe
> un moyen de faire ca.  En fait, si vous regardez dans le fichier
> /var/log/secure, vous trouverez exactement ce que je cherche, mais
> c'ets un peu trop complexe d'aller y extraire l'adresse IP d'une
> personne qui vien tout juste de se connecter automatiquement.

Si j'ai bien compris, tu es sur la machine où le telnetd répond à une
connexion sur le port telnet(23/tcp).  C'est inetd qui répond d'abord.
Il y a de fortes chances pour que ton système soit configuré (dans
/etc/inetd.conf) pour que tcpd (tcp_wrappers) soit appelé ensuite et
qu'il appelle finalement in.telnetd.

Si tcpd est compilé pour utiliser la syntaxe décrite dans
hosts_options(5) plutôt que hosts_access(5), ce qui est aussi
problement le cas (ce l'est pour les Red Hat récents), alors il est
possible d'utiliser la commande spawn (ou twist) avec des
substitutions %x sur sa ligne de commande.  Il reste à écrire un
programme (par exemple un shell script) pour faire ce que tu veux.

Il faut lire les pages de manuel qui viennent avec les tcp_wrappers
pour en savoir plus :

        bash$ rpm -ql tcp_wrappers | grep man5
        /usr/man/man5/hosts.allow.5
        /usr/man/man5/hosts.deny.5
        /usr/man/man5/hosts_access.5
        /usr/man/man5/hosts_options.5
        bash$ man 5 hosts_options
        ...

> Ce que je cherche a faire, c'est un script qui s'exécute au moment
> de la connection (probablement appelé par .bashrc) qui exporterait
> comme variable d'environnement l'adressssse IP du USER.

Ça ne sera pas possible directement, mais il est possible de lui
imprimer son adresse IP sur la connexion et ça va apparaître avant le
prompt telnet de l'autre côté.  Un script exécuté par spawn va
s'exécuter comme root et peut aussi placer cette adresse à un endroit
prédéterminé que le .bashrc de l'usager peut récupérer.  Je ne crois
pas qu'une variable d'environnement placée dans l'environnement du
telnetd survive jusqu'à celui du shell de l'usager car telnetd ou
login doit faire le ménage avant (sinon ça serait une autre
possibilité).


Charles