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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : yurik shestakov                      2:5020/400     08 Oct 2001  15:57:07
 To : Stephen V Avdeyev
 Subject : Re: вхождение  адреса  в  сеть.
 -------------------------------------------------------------------------------- 
 
 Stephen V Avdeyev <Stephen.V.Avdeyev@f44.n5090.z2.fidonet.org> wrote:
 
  SVA> чё-т я запарился искать...
  SVA> где-то было такое, но не помню где - есть ip-адрес компьютера, есть
  SVA> ip-адрес сети. надо узнать, входит ли этот комп в эту сеть. типа того:
 
  SVA> isinnetwork("192.168.1.1","192.168.3.0/24") == false
  SVA> isinnetwork("217.106.131.6","217.106.131.2/29") == true
 
  SVA> может какой модуль это реализует?
 
 Писать модуль для одной функции?
 
 sub isinnetwork($$) {
   my ($an_ip, $a_net) = @_;
   my ($n_addr, $sfx) = split /\//, $a_net;
   my $mask = 0xFFFFFFFF ^ ((1 << (32 - $sfx)) -1);
   my $p_ip  = unpack('N',pack('C4', split /\./,$an_ip));
   my $p_net = unpack('N',pack('C4', split /\./,$n_addr));
   return ($p_ip & $mask) == ($p_net & $mask);
 }
 
 -- 
 // yurik shestakov
 --- ifmail v.2.15dev5
  * Origin: Unknown (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 вхождение адреса в сеть.   Stephen V Avdeyev   08 Oct 2001 15:30:23 
 Re: вхождение адреса в сеть.   yurik shestakov   08 Oct 2001 15:57:07 
Архивное /ru.perl/91380731639f.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional