Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer l'ip du client qui se connecte

10 réponses
Avatar
Patrice OLIVER
Bonjour,

J'ai des clients qui se connectent en telnet sur une machine de mon lan.
Pour adapter un script de connexion, je souhaites r=E9cup=E9rer l'adresse
IP du client en question. Mis =E0 jour faire un 'who am i' pip=E9 avec les
commandes qui vont bien, existe t'il une autre solution ?

Merci.
Patrice.

10 réponses

Avatar
Ludovic Cesar
Message en plusieurs parties au format MIME
--=_alternative 005EF42FC12573FE_ Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

Salut,

Je sait pas si c'est adapter mais j'en vois une, (pouf comme ça sans trop
chercher)

"netstat -lataupen"







"Patrice OLIVER"
29/02/2008 15:26

A
Liste_de_debian-user
cc

Objet
Récupérer l'ip du client qui se connecte






Bonjour,

J'ai des clients qui se connectent en telnet sur une machine de mon lan.
Pour adapter un script de connexion, je souhaites récupérer l'adresse
IP du client en question. Mis à jour faire un 'who am i' pipé avec les
commandes qui vont bien, existe t'il une autre solution ?

Merci.
Patrice.



--=_alternative 005EF42FC12573FE_ Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable


<br><font size=2 face="Arial">Salut,</font>
<br>
<br><font size=2 face="Arial">Je sait pas si c'est adapter mais j'en vo is
une, (pouf comme ça sans trop chercher)</font>
<br>
<br><font size=2 face="Arial">&quot;netstat -lataupen&quot; </font>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width0%>
<tr valign=top>
<td width@%><font size=1 face="sans-serif"><b>&quot;Patrice OLIVER& quot;
&lt;&gt;</b> </font>
<p><font size=1 face="sans-serif">29/02/2008 15:26</font>
<td widthY%>
<table width0%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">A</font></div>
<td valign=top><font size=1 face="sans-serif">Liste_de_debian-use r &lt;&gt;</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Objet</font></div>
<td valign=top><font size=1 face="sans-serif">Récupérer l'ip du c lient
qui se connecte</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Bonjour,<br>
<br>
J'ai des clients qui se connectent en telnet sur une machine de mon lan.<br>
Pour adapter un script de connexion, je souhaites récupérer l'adresse<b r>
IP du client en question. Mis à jour faire un 'who am i' pipé avec les< br>
commandes qui vont bien, existe t'il une autre solution ?<br>
<br>
Merci.<br>
Patrice.<br>
<br>
</tt></font>
<br>
--=_alternative 005EF42FC12573FE_=--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Patrice OLIVER, vendredi 29 février 2008, 15:26:07 CET

Bonjour,



’jour,

J'ai des clients qui se connectent en telnet sur une machine
de mon lan.



telnetd pas glop.

Pour adapter un script de connexion, je souhaites
récupérer l'adresse IP du client en question. Mis à jour f aire


^^^^^^^^^^^^^^^^
Pas clair ce bout de phrase… s/jour/part/ ?

un 'who am i' pipé avec les commandes qui vont bien, existe
t'il une autre solution ?



last -ia | tail -1 | awk '{print $NF}'

Problème : si plusieurs connexions sont simultanées, on a une
concurrence critique (race condition) sur wtmp et donc l’ordre
des lignes de last n’est pas assuré et donc on n’est p as sûr que
la dernière entrée soit bien la nôtre.

Donc « who am i --ips | awk '{print $NF}' », en plus d’être
plus court, n’est pas si mal.

Que veux-tu faire exactement ? Peut-être que le problème
original a une autre solution.

--
Sylvain Sauvage
Avatar
Patrice OLIVER
Bonsoir,

En fait, nous utilisons un serveur avec des outils d'administration en
mode console que nous attaquons avec des émulateurs fournis avec.
Nous souhaitons nous passer de ces émulateurs propriétaires et
utiliser konsole. Konsole ne passe pas correctement le term. Nous
voulons donc le fixer en fonction de l'ip de la machine qui se
présente. Les machines en question ne fonctionnent que sous Linux.


Le 29/02/08, Sylvain Sauvage a écrit :
Patrice OLIVER, vendredi 29 février 2008, 15:26:07 CET
>
> Bonjour,


'jour,

> J'ai des clients qui se connectent en telnet sur une machine
> de mon lan.


telnetd pas glop.


> Pour adapter un script de connexion, je souhaites
> récupérer l'adresse IP du client en question. Mis à jour faire

^^^^^^^^^^^^^^^^
Pas clair ce bout de phrase… s/jour/part/ ?


> un 'who am i' pipé avec les commandes qui vont bien, existe
> t'il une autre solution ?


last -ia | tail -1 | awk '{print $NF}'

Problème : si plusieurs connexions sont simultanées, on a une
concurrence critique (race condition) sur wtmp et donc l'ordre
des lignes de last n'est pas assuré et donc on n'est pas sûr que
la dernière entrée soit bien la nôtre.

Donc « who am i --ips | awk '{print $NF}' », en plus d'être
plus court, n'est pas si mal.

Que veux-tu faire exactement ? Peut-être que le problème
original a une autre solution.

--

Sylvain Sauvage




Avatar
Sylvain Sauvage
[merci de répondre dessous et de couper l’inutile]

Patrice OLIVER, vendredi 29 février 2008, 19:56:49 CET

Bonsoir,

En fait, nous utilisons un serveur avec des outils
d'administration en mode console que nous attaquons avec des
émulateurs fournis avec. Nous souhaitons nous passer de ces
émulateurs propriétaires et utiliser konsole. Konsole ne passe
pas correctement le term. Nous voulons donc le fixer en
fonction de l'ip de la machine qui se présente. Les machines
en question ne fonctionnent que sous Linux.



? moi, il me met TERM=xterm. Ça ne marche pas ?

Si ce n’est pas le bon, ne suffirait-il pas de le fixer dans
le .bashrc ?

--
Sylvain Sauvage
Avatar
Patrice OLIVER
Sur le serveur, je ne récupère pas correctement le TERM. C'est pour
cela que je veux la fixer.

Le 29/02/08, Sylvain Sauvage a écrit :
[merci de répondre dessous et de couper l'inutile]

Patrice OLIVER, vendredi 29 février 2008, 19:56:49 CET

>
> Bonsoir,
>
> En fait, nous utilisons un serveur avec des outils
> d'administration en mode console que nous attaquons avec des
> émulateurs fournis avec. Nous souhaitons nous passer de ces
> émulateurs propriétaires et utiliser konsole. Konsole ne passe
> pas correctement le term. Nous voulons donc le fixer en
> fonction de l'ip de la machine qui se présente. Les machines
> en question ne fonctionnent que sous Linux.


? moi, il me met TERM=xterm. Ça ne marche pas ?

Si ce n'est pas le bon, ne suffirait-il pas de le fixer dans
le .bashrc ?

--

Sylvain Sauvage




Avatar
Sylvain Sauvage
*** merci de répondre dessous et de couper l'inutile ***

Patrice OLIVER, vendredi 29 février 2008, 22:22:14 CET

Sur le serveur, je ne récupère pas correctement le TERM. C'est
pour cela que je veux la fixer.



Justement, si tu mets TERM=xterm dans le .bashrc (ou .kshrc,
ou autre, hein, on n’est pas sectaire) du serveur, celui-ci sera
exécuté sur le serveur à la connexion, donc TERM vaudra xterm
dans le shell du telnet et donc pour les applis lancées dans le
telnet.
À moins que vous n’utilisiez telnet pour vous connecter sur
autre chose qu’un telnetd qui lance un shell…

--
Sylvain Sauvage
Avatar
Patrice OLIVER
Le 29/02/08, Sylvain Sauvage a écrit :

*** merci de répondre dessous et de couper l'inutile ***

Patrice OLIVER, vendredi 29 février 2008, 22:22:14 CET

>
> Sur le serveur, je ne récupère pas correctement le TERM. C'est
> pour cela que je veux la fixer.


Justement, si tu mets TERM=xterm dans le .bashrc (ou .kshrc,
ou autre, hein, on n'est pas sectaire) du serveur, celui-ci sera
exécuté sur le serveur à la connexion, donc TERM vaudra xterm
dans le shell du telnet et donc pour les applis lancées dans le
telnet.
À moins que vous n'utilisiez telnet pour vous connecter sur
autre chose qu'un telnetd qui lance un shell…

--

Sylvain Sauvage





Le problème est que nous avons différents types de clients qui se
connectent sur ledit serveur, dont des clients windows et des clients
linux. Mes clients linux sont dans un range d'IP déterminé.

Patrice.
Avatar
Gilles Mocellin
--nextPart3967575.3Z75hKvEom
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le Friday 29 February 2008 15:26:07 Patrice OLIVER, vous avez écrit :
Bonjour,

J'ai des clients qui se connectent en telnet sur une machine de mon lan.
Pour adapter un script de connexion, je souhaites récupérer l'adresse
IP du client en question. Mis à jour faire un 'who am i' pipé avec les
commandes qui vont bien, existe t'il une autre solution ?

Merci.
Patrice.



Nous avons le cas inverse, savoir quelle IP a été utilisée par le cli ent pour
arriver sur le serveur (Le serveur a plusieurs IP, des ressources cluster
HP-UX MC ServiceGuard pouvant changer de serveur).

Mais je pense que la même méthode peu être utilisée :
- utiliser lsof pour avoir l'adresse IP ouverte d'un process
- chercher le process parent du shell en cours (sshd ou telnetd suivant l a
méthode de connexion) avec $PPID

lsof ne donnera des résultats que sous root, donc le script de connexion ser
du genre /etc/profile plutot que .profile (remplacer profile par bashrc sou s
Linux).

En résumer : dans le script de connexion système :

IP=$(sudo lsof -nP -p $PPID | grep ESTABLISHED |
sed -n 's/^.*->(.*):.*$/1/p')

--nextPart3967575.3Z75hKvEom
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBHyWxDDltnDmLJYdARAqc1AKCJ9wlwPZN3Ko2a4Xku4wzJKvPfvwCgx8Zh
j9x3YtpeUKnu/oqSdPg9hB8 =QoYK
-----END PGP SIGNATURE-----

--nextPart3967575.3Z75hKvEom--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Stephane Bortzmeyer
On Fri, Feb 29, 2008 at 07:56:49PM +0100,
Patrice OLIVER wrote
a message of 54 lines which said:

Konsole ne passe pas correctement le term. Nous voulons donc le
fixer en fonction de l'ip de la machine qui se présente.



Hmmm, ce n'est pas une situation satisfaisante et n'importe quelle
méthode pour la gérer ne sera que du bricolage temporaire.

En outre, telnet ne devrait plus être utilisé depuis le siècle
dernier, puisqu'il fait passer le mot de passe en clair.

Je suggère donc de passer à ssh, ce qui comblera une sérieuse faille
de sécurité et, en prime, cela vous fournira l'adresse IP du client
dans la variable d'environnement SSH_CLIENT.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Patrice OLIVER
Le 01/03/08, Stephane Bortzmeyer a écrit :
On Fri, Feb 29, 2008 at 07:56:49PM +0100,

Patrice OLIVER wrote

a message of 54 lines which said:

> Konsole ne passe pas correctement le term. Nous voulons donc le
> fixer en fonction de l'ip de la machine qui se présente.


Hmmm, ce n'est pas une situation satisfaisante et n'importe quelle
méthode pour la gérer ne sera que du bricolage temporaire.

En outre, telnet ne devrait plus être utilisé depuis le siècle
dernier, puisqu'il fait passer le mot de passe en clair.

Je suggère donc de passer à ssh, ce qui comblera une sérieuse fail le
de sécurité et, en prime, cela vous fournira l'adresse IP du client
dans la variable d'environnement SSH_CLIENT.




Je suis 100% d'accord, mais nous ne gérons pas complètement cette
machine. Donc, nous nous adaptons.