Хай друзья! В этой статье я постараюсь дать вам начальные основы по кодингу на перле, а также показать с какой лёгкостью можно написать программы для хакера и админа.
1. Где взять и где искать? Где? Почти во всех *nix'оподобных системах он встроен. Если же вы используете платформу класса win32, то вам на www.activestate.com, с установкой не возникнет проблем, особенно если вы выбрали .msi инсталяшку.
2. Базовые знания. Perl - очень изящный, лёгкий и в тоже время мощный язык. Начнем с самых основ. Синтаксис перла очень похож на синтаксис таких языков, как C, shell и т.д. Накалякаем простейшую программу типа "Hello world!": #!/usr/bin/perl
print "Hello world!n";
И всё, никаких main()! Разберём эту прогу по строкам (их так много =)). #!/usr/bin/perl - стандартная строка, это путь к перлу print "Hello worldn" - print(оператор текста), текст заключается между "", n - конец строки. Переменные обозначаются знаком бакса $. Например код: #!/usr/bin/perl
$hw="hello worldn";
print "$hw";
Всё просто до безобразия. Также легко с циклами и учловиями if-else. Рассмотрим небольшой код программы (#комментарий): #!/usr/bin/perl
print "How old are you?n"; #выводит вопрос How old are you?
chomp($in=);
#chomp - перенос строки
#$in= - все данные введённые с клавы будут занесены в переменную $in
if($in > 12){
print "too smalln";} # если меньше 10, то выводить too small
else{print "big bro";} # иначе печатать big bro
Циклы в основном стандартные (как в других языках). Например, цикл for: #!/usr/bin/perl
for($n=0;$n < 5; $n++) # $n=0(сначала $n=0), $n < 5 ($n будет все числа до 5), $n++(дальше, если всё ок)
{
print "Здарова $n раз =)";
}
Выведет: Здарова 0 раз =) Здарова 1 раз =) И т.д. до пяти
3. Научимся на исходниках Здесь я небуду давать описаний операторов и вообще не буду ничего объяснять, а просто дам несколько закомментированных программных кодов. Поехали. CGI сканнер записью в логфайл. #!/usr/bin/perl #путь к перлу
use IO::Socket; # подключение модуля IO::Socket
print "Enter hostname: ";
chomp($host=); # данные с клавы в переменную $host
print "Enter port: ";
chomp($port=); # данные с клавы в переменную $port
if($port eq ""){$port=80;} # если значение $port не введено, то $port=80;
print "Wanna logs? y/n: "; # Хотите логов?
chomp($logs=); # в переменную $logs
open(OUT, "$logs"); # открыть логфайл, занести во переменную OUT
open(DATA, "bugs"); # открыть баглист (bugs), занести во временную пер. DATA
print OUT "$cgi - 200 Okn"; # тоже, только в логфайл
}
}
Вот и написан простейший cgi сканнер на perl, с использованием модуля IO::Socket и ведением логов. Цель была показать насколько просто писать подобные программы для перла. Будут вопросы идите на форум и задавайте, также читайте perldoc. До новых встреч.
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
Вход на сайт
Гость, добро пожаловать на best-club! Тапки в углу, пиво в холодильнике. Располагайся:) Для получения большего комфорта войди как пользователь или зарегистрируйся.
Третий Мир: Война Королей - Форум Администрация сайта не несёт ответственности за материалы опубликованные на сайте! Все материалы исключительно для ознакомления!
Привет, Гость!
У тебя нет логина, зарегистрируйся Регистрация
Твой IP: 3.144.146.61
Группа: Гости
Браузер: /