Quelques résultats partiels des dernières propositions (bravo les gars!):
Sans aucune connexion ftp active, la commande
# lsof -i :21
donne:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
vsftpd 3270 root 3u IPv4 9809 TCP *:ftp (LISTEN)
Avec la connexion ftp par l’utilisateur “tyrtamos” à partir de la machine 192.168.0.99 (la machine serveur s’appelle “nestidebian”), la même commande donne:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
vsftpd 3270 root 3u IPv4 9809 TCP *:ftp (LISTEN)
vsftpd 4500 nobody 0u IPv4 20643 TCP nestidebian.local:ftp->192.168.0.99:socks (ESTABLISHED)
vsftpd 4500 nobody 1u IPv4 20643 TCP nestidebian.local:ftp->192.168.0.99:socks (ESTABLISHED)
vsftpd 4500 nobody 2u IPv4 20643 TCP nestidebian.local:ftp->192.168.0.99:socks (ESTABLISHED)
vsftpd 4502 tyrtamos 0u IPv4 20643 TCP nestidebian.local:ftp->192.168.0.99:socks (ESTABLISHED)
vsftpd 4502 tyrtamos 1u IPv4 20643 TCP nestidebian.local:ftp->192.168.0.99:socks (ESTABLISHED)
vsftpd 4502 tyrtamos 2u IPv4 20643 TCP nestidebian.local:ftp->192.168.0.99:socks (ESTABLISHED)
La commande complète proposée par stonfi donne alors:
Qui est connecté ?
root
nobody
nobody
nobody
tyrtamos
tyrtamos
tyrtamos
Et, bien sûr, tout ce qui a été ajouté lors de l’établissement de la connexion ftp disparait après la déconnexion.
Les log de vsftpd (ici dans leur version la plus “causante”) donnent bien le pid:
Wed Aug 29 17:18:49 2007 [pid 4501] CONNECT: Client "192.168.0.99"
Wed Aug 29 17:18:49 2007 [pid 4501] FTP response: Client "192.168.0.99", "220 (vsFTPd 2.0.5)"
Wed Aug 29 17:18:49 2007 [pid 4501] FTP command: Client "192.168.0.99", "USER tyrtamos"
Wed Aug 29 17:18:49 2007 [pid 4501] [tyrtamos] FTP response: Client "192.168.0.99", "331 Please specify the password."
Wed Aug 29 17:18:49 2007 [pid 4501] [tyrtamos] FTP command: Client "192.168.0.99", "PASS <password>"
Wed Aug 29 17:18:49 2007 [pid 4500] [tyrtamos] OK LOGIN: Client "192.168.0.99"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", "230 Login successful."
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP command: Client "192.168.0.99", "SYST"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", "215 UNIX Type: L8"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP command: Client "192.168.0.99", "FEAT"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", "211-Features:"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", " EPRT??"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", " EPSV??"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", " MDTM??"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", " PASV??"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", " REST STREAM??"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", " SIZE??"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", " TVFS??"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", "211 End"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP command: Client "192.168.0.99", "PWD"
Wed Aug 29 17:18:49 2007 [pid 4502] [tyrtamos] FTP response: Client "192.168.0.99", "257 "/""
On voit bien qu’un bon script devrait permettre de faire ressortir tout ce qu’on veut à la demande…