Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       06 Nov 2001  16:58:25
 To : strijar@urai.ru
 Subject : Re: inetd: source address
 -------------------------------------------------------------------------------- 
 
  >> Есть shell-скрипт, вызываемый из inetd (ipv4 only).
  >> Может он как-нибудь получить ip-адрес, откуда пришел коннект?
  >> Мне не для access control, мне сам ip нужен.
 
  sur> Вот написал за 5 мин ;))
 
  sur> === getip.c ===
 
 Так нечестно ;)
 
  sur> #include <sys/types.h>
  sur> #include <sys/param.h>
  sur> #include <sys/socket.h>
  sur> #include <netinet/in.h>
  sur> #include <netinet/tcp.h>
  sur> #include <arpa/inet.h>
 
  sur> int main() {
  sur>     struct sockaddr_storage ss;
  sur>     int sval;
  sur>     char rhost[MAXHOSTNAMELEN];
 
  sur>     sval = sizeof(ss);
  sur>     getpeername(0, (struct sockaddr *)&ss, &sval);
  sur>     realhostname_sa(rhost, sizeof rhost - 1, (struct sockaddr *)&ss,
  sur> sval);
  sur>     rhost[sizeof(rhost) - 1] = '\0';
  sur>     printf("%s\n",rhost);
  sur> }
 
 Кроме того, я спрашивал про IP, а не про hostname :)
 
 Eugene
 -- 
 "Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
 --- slrn/0.9.7.0 (FreeBSD)
  * Origin: SVZ-Service (2:5006/1@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: inetd: source address   Eugene Grosbein   06 Nov 2001 16:58:25 
Архивное /ru.unix.bsd/260933f84547d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional