monitor połączeń ftp

0

witam
czy zna ktoś jakąś bibliotekę dzięki której można by napisać monitor połączeń ftp ?
chciałbym napisac aplikację która pokazuje mi ile mam połączeń, co jest sciągane itp na debiana ale nie mogę znaleźć nic ciekawego na ten temat ani w C ani w C++ .
pozdrawiam

0

Najprosciej byloby napisac patcha do demona ftp i eksportowanie statystyk przez socket/fifo. Pisanie zewnętrznego monitora monitorowanie poprzez system deskryptorow plikow do stopnia w ktorym jest pobierana pozycja w pliku nie bedzie zbyt dobrym rozwiazaniem, nienajlepszym rozwiazaniem bylyby rowniez pisanie czegokolwiek w rodzaju sniffera (np. tcpdumpa).

Zamiast patchowania demona mona zwiekszyć ilosć danych wysylanych do sysloga (loglevel) oraz przekierować w syslogu te dane do innego demona interpretujacego je, co ulatwiloby jeszcze cala sprawe ale wydluzyloby droge.

przkladowo dla vsftpd i sysloga:

syslog_enable=YES
# Uncomment this to log all FTP requests and responses.
log_ftp_protocol=YES
# Uncomment this to enable session status information in the system process listing.
setproctitle_enable=YES

w zrodelku vsftpd widac:

  int facility = LOG_DAEMON;
#ifdef LOG_FTP
  facility = LOG_FTP;
#endif

wiec w syslogu (/etc/syslog.conf) dalej do pajpa:

ftp.*   |/sciezka/do/nazwanego/fifo

i piszesz demona ktory stawia tam pajpa i czeka na dane, potem je analizuje i podaje gotowe dane dalej.

tu wrzucilem demona ktory dziala na tej zasadzie - pobiera z pajpa i robi cos dalej. a tu drugi

Plusem takiego rozwiazania jest pelna niezaleznosc od wersji demona (o ile nie zmieni sie sposob logowania). i nie potrzeba pisac dla kazdej wersji nowej latki. minusem najprawdopodobniej bedzie to ze demon musi byc odpalony przed syslogiem (albo syslog musi dostac sig_hup zeby otworzyc pajpa), a na pewno musi byc odpalony zanim demon ftp zacznie dzialac.

1 użytkowników online, w tym zalogowanych: 0, gości: 1