Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Scaner port (https://forum.antichat.xyz/showthread.php?t=68836)

satana8920 30.04.2008 08:48

Scaner port
 
одним хорошеньким весенним деньком я сидел на табуретке и вдруг захотел написать сканер портов
это мой первый релиз так что не бейте ногами

реализован на IO Socket

Код:

#!/usr/bin/perl

use Socket;

$ARGC = @ARGV;

if ($ARGC < 2 ) {

print "Port Scanner \n";
print "CODED BY Satana \n";
print "Use : $0 <host> <protocol> \n";
exit;

}

$protoc = $ARGV[1];
print "\nStarting Scan.. \n";
print "Target : $ARGV[0] \n";

for ($port_in = 0; $port_in <= 6000; $port_in++) {
$iaddr = inet_aton($ARGV[0]) || die "Error to connect on Host.($!)";
$paddr = sockaddr_in($port_in, $iaddr);

$proto = getprotobyname($protoc);
socket(SOCK, AF_INET, SOCK_STREAM, $proto);

if (connect(SOCK, $paddr)) {
$servico = getservbyport($port_in, 'tcp');
print "$port_in - $servico - open \n";
close(SOCK);
}
}
print "Scan completed... \n\n";
exit;

/me запостил что бы у него появилась наконец то батарейка :rolleyes: :)

biophreak 30.04.2008 11:19

1. Запомни для себя use warnings use strict и use diagnostics
2. Для получения аргументов таки удобнее и читаемее юзать чтонить в духе
my $target = shift || usage;

demonoid 30.04.2008 15:42

Цитата:

Сообщение от satana8920
одним хорошеньким весенним деньком я сидел на табуретке и вдруг захотел написать сканер портов
это мой первый релиз так что не бейте ногами

ногами бить не будем :)

Код:

$ARGC = @ARGV;
Количество аргументов можно получить более лёгким способом

Код:

$#ARGV+1
scalar @ARGV

надеюсь это опечатка
Код:

print 'CODED BY Satana \n';
Так как при одинарных кавычках не происходит интерполяция , это значит что интерпретатор не обратит внимание на твою эскейп последовательность \n
Код:

print "CODED BY Satana \n";
Код:

for ($port_in = 0; $port_in <= 6000; $port_in++) {
Как-то не продуманы номера портов .. :)

zythar 30.04.2008 16:03

лучше бы сделал так чтобы диапазон портов мона была указывать в аргументах.
да и почитай для начала perl underground. для тебя будет полезно

да и каждый в принципе может сесть и написать такой простеньки цикл который устанавливает соединение с сервером и проверяет соединяется ли с конкретным портом прога или нет. и чо? мне щас сесть и написать аналог этого на Си или на РНР, да?

sairo 14.06.2008 18:05

изобретатель вилосепеда=)


Время: 22:52