The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Как пропатчить приложение запускаемое через inetd для определения IP клиента.
Си:
   struct sockaddr_in addr_name;
   socklen_t addr_len;
   addr_len = sizeof(addr_name);
   bzero(&addr_name, sizeof(addr_name));
   if (getpeername(0, (struct sockaddr *)&addr_name, &addr_len) >= 0){                          
     // выводим адрес в printf через inet_ntoa(addr_name.sin_addr)
   } 

Perl:
   use Socket;
   my $std_sockaddr = getpeername(STDIN);
   my $cur_ipaddr = "0.0.0.0";
   if (defined $std_sockaddr){
      my ($tmp_port, $tmp_iaddr) = sockaddr_in($std_sockaddr);
      $cur_ipaddr = inet_ntoa($tmp_iaddr);
   }
 
10.01.2003 , Автор: uldus
Ключи: socket, inetd, perl, gcc / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Perl / Полезные подпрограммы на Perl / Работа с сетью и IP адресами на Perl

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:



  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor