HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Scaner port
  #1  
Старый 30.04.2008, 08:48
satana8920
Постоянный
Регистрация: 22.09.2006
Сообщений: 531
С нами: 10333826

Репутация: 369


По умолчанию 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 запостил что бы у него появилась наконец то батарейка

Последний раз редактировалось satana8920; 30.04.2008 в 21:13..
 
Ответить с цитированием

  #2  
Старый 30.04.2008, 11:19
biophreak
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
С нами: 9880226

Репутация: 209
По умолчанию

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

  #3  
Старый 30.04.2008, 15:42
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
С нами: 10172441

Репутация: 495
По умолчанию

Цитата:
Сообщение от 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++) {
Как-то не продуманы номера портов ..
 
Ответить с цитированием

  #4  
Старый 30.04.2008, 16:03
zythar
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
С нами: 9596486

Репутация: 291


По умолчанию

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

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

Последний раз редактировалось zythar; 30.04.2008 в 16:06..
 
Ответить с цитированием

  #5  
Старый 14.06.2008, 18:05
sairo
Новичок
Регистрация: 08.06.2008
Сообщений: 7
С нами: 9434405

Репутация: 0
По умолчанию

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новый Мултиплеер для GTA:VC - vc-mp xSp1D3R Болталка 5 16.08.2005 02:20



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.