Контакты

Для связи с нами можно использовать:
irc://irc.chatnet.ru:#gfs
icq://546460
email://cobalt[@]gfs-team.ru

Все материалы предоставлены только с ознакомительной целью
ГлавнаяСтатьиКодингPerl - инструмент хакера
© Cobalt 19.05.2006 статья не оптимизирована

 Многие думают, что Perl, подобно PHP, это один из скриптовых языков предназначеный для разработки веб приложений. Однако, дело обстоит значительно сложнее.
Этот язык был создан как средство помощи системным администраторам Unix. Те кто
сталкивался с *nix системами, знают, что все настройки рулятся там в обычных
текстовых файлов. Порой бывает очень сложно найти нужный тебе конфиг не зная
в каком файле он находится. А чтобы составить отчет по текущим настройкам
системы из всех файлов - надо затратить огромное количество трудов.

 Столкнувшись с такими трудностями в 1986-м г., Ларри Вол ( Larry Wall ), как
истинный программист, задумал автоматизировать это дело. В итоге появилось то,
что мы называем  Practical Extraction аnd Report Language (практический язык
для извлечения и составления отчетов), а сокращенно Perl.

 Возможности его были значительно шире языка командной оболочки, да и не
удивительно, ведь Perl призван был его заменить. И действительно, со временем
он так полюбился администраторам и пользователям Unix, что Волу пришлось
значительно расширить функциональные возможности языка. Было написано много
библиотек для решения различных задач. Сам язык переведен на многие ОС.

 Одним из самых неоспоримых достоинств этого языка является кроссплатформеность.
В данный момент нет ни одного средства разработки кроме Perl и PHP, которое
можно с уверенностью назвать кроссплатформенным. Хотя некоторые средства, такие
как Kilyx например, претендуют на это, но все далеко не соответствует
заявленному. PHP же в отличии от Perl, изначально заточен под web.

 Что же может дать Perl начинающему хакеру? Почему тебе стоит уметь на нем
писать скрипты?

 Во первых:   Написать скрипт значительно легче и быстрее чем аналогичную
             программу на компилируемом языке.

 Во вторых:   Ты можешь написать на своем ПК под ОС Windows скрипт, который с
             тем же успехом будет работать и в любой другой ОС где установлен
             интерпритатор Perl.

 В третих:    Ни для кого ни секрет, что подавляющее большинство серверов в
             Интернет, работают именно на *nix платформах. А для них
             установленный Perl чуть ли не Дефакто.

 В четвертых: На Perl ты можешь написать практически любое консольное приложение.
             Его возможности позволяют делать многое, что не снилось кодерам
             на других языках. Такой вещи как регулярные выражения во всей той
             мощи что представлена в Perl ты не встретишь более ни где.

 Я тебя еще не убедил? Хочешь примеров? Пожалуйста:
 
 use Socket;
 $host="127.0.0.1";
 print("Scan $host:\n");
 for($i=0; $i<65000; $i++){
        socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
        $iaddr = inet_aton($host);
        $paddr = sockaddr_in($i, $iaddr);
        if(connect(SOCK, $paddr)){
         print("$i - OK\n");
        }else{
         print("$i - NO\n");
        }
 }

 Две минуты, и вполне работоспособный сканер портов =). Причем, заметь, не надо
ни компилировать, не открывать какую-то особую IDE. Вполне достаточно блокнота
либо vi. Чтобы запустить на выполнение данный код достаточно набрать:

  perl file.pl

 Удобнейшая вещь особенно когда у тебя нет ни каких прав в системе кроме nobody.
Еще пример? В легкую:

 if(@ARGV!=2){
  print "\n\n";
  print "Use:\n";
  print  "logclean.pl source_file word\n\n";
  exit;
 }
 ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
   $blksize,$blocks)=stat(@ARGV[0]);
 open(SOURCE, "< @ARGV[0]") or die "Coud not open fie: @ARGV[0]\n\n";
 @source=;
 close(SOURCE);
 open(TARGET, "> @ARGV[0]") or die "Coud not open fie: @ARGV[0]\n\n";
 $i=0;
 $word=@ARGV[1];
 foreach $temp (@source){
  if($temp!~m/$word/o){
   @target[$i]=$temp;
   $i++;
  }
 }
 foreach $temp (@target){
  print TARGET $temp;
 }
 close(TRGET);
 utime $mtime,$mtime,@ARGV[0];
 
 Еще пять минут, и перед тобой скрипт, который будет удалять из указанного
файла строки содержащие заданное тобой слово. Чем не простенький логклинер? ;)
Причем, в любой момент ты можешь залезть в код, и подправить любую строчку и
тебе опять же не придется после этого ни чего компилировать. Достаточно иметь
блокнот и доступ к любой nix машине (или себе установить что-то вроде
ActivePerl) и ты в любой момент сможешь насладиться процессом програмирования
на таком прекрасном языке как Perl.

 Этим текстом я хотел бы начать цикл статей посвященных написанию скриптов на
Perl. Так что я надеюсь, что тебе этот язык пришелся по вкусу, и ты с
нетерпением будешь ожидать следующего материала ).



© Cobalt 19.05.2006 статья не оптимизирована

e-Commerce Partners Network
Gu3573r написал:

@target[$i]=$temp; ---- лучше записывать как $target[$i]=$temp.. ;)

ярик написал:

Сканер твой не рабочий.Я 100% знаю что у меня открыты порты, но он показывает все закрытые.

Cobalt написал:

ярик:
Сканер твой не рабочий.Я 100% знаю что у меня открыты порты, но он показывает все закрытые.


только что проверил зная что у меня стоит мускуль:

cobalt@cobalt-notebook:~$ ./test.pl | grep 3306

3306 - OK

Куня написал:

Неплохо! Спасибо дорогуша! Всё работает!

Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
20.09.2017 08:47:03 Avito777jeax написал:
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b> <b>Здравствуйте,...
Предупреждение
20.09.2017 08:20:25 Avito777jeax написал:
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b> <b>Мое...
Новая статья
20.09.2017 08:15:19 Avito777jeax написал:
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b> <b>Приветствую...
Новый релиз
Реклама

Тут должна была быть ваша реклама, но мы потеряли глиняную табличку с ее текстом. SapeId: 665044

Rambler's Top100