IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Входит ли Ip в подсеть x.x.x.x/N (алгоритм проверки) (https://www.imho.ws/showthread.php?t=62189)

denver 20.06.2004 03:18

Входит ли Ip в подсеть x.x.x.x/N (алгоритм проверки)
 
Нужен для применения под Delphi. Поэтому интересует алгоритм в общем виде (не, ну лучше конечно на паскале). Желательно с примером в числах.

Либо поясните плиз исходник на Perl (его не учил). Какие преобразования и операции имеются в виду там где подчеркнуто (все остальное мне интуитивно понятно)? Желательно тоже с примером в числах/символах.

Цитата:

$find_net = '123.123.45.4/30';
$some_ip = '123.123.45.5';
my ($net_ip, $net_mask) = split(/\//, $find_net);
my ($ip1, $ip2, $ip3, $ip4) = split(/\./, $net_ip);
my $net_ip_raw = pack ('CCCC', $ip1, $ip2, $ip3, $ip4);
my $net_mask_raw = pack ('B32', (1 x $net_mask), (1 x (32 - $net_mask)));

my ($ip1, $ip2, $ip3, $ip4) = split(/\./, $some_ip);
my $some_ip_raw = pack ('CCCC', $ip1, $ip2, $ip3, $ip4);

# $some_ip_raw вычисляем по аналогии с $net_ip_raw
if (($some_ip_raw & $net_mask_raw) eq $net_ip_raw){
print "$some_ip входит в подсеть $find_net";
}

denver 20.06.2004 14:45

Ок, нашел страницу где операции детально показываются в числах:
http://www.geek-guy.com/knowledge/subnet.htm

Вопрос снят, всем спасибо :)


Часовой пояс GMT +4, время: 22:37.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.