книги хакеры / журнал хакер / 126_Optimized
.pdf
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
>>
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
pc_zonew |
|
|
to |
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
||||
|
|
|
|
|
o |
m |
||||
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
WIRELESSKEYVIEW ПОМОЖЕТВОССТАНОВИТЬКЛЮЧИ ДЛЯБЕСПРОВОДНЫХСЕТЕЙ, СОХРАНЕННЫЕВСИСТЕМЕ
(с указанием адресов отправки и назначения), а также (и это самое вкусное) самая разная инфа, передаваемая в открытом виде по сети: пароли для незащищенных прото-
колов (pop3/ftp/telnet), почтовый трафик, http
кукисы и данные для авторизации, и т.д. Единственный недостаток WifiZoo заключается в отсутствии режима Channel hopping, в результате прога может прослушивать беспроводной интерфейс, но не может прыгать с канала на канал. Этот недостаток с лихвой
с полным анализом распространенных протоколов (сейчас поддерживается более 70). Более того — можно полностью воссоздать TCP-сессию и посмотреть, к примеру, HTTPтрафик со всеми запросами и соответственно интересной инфой, вроде данных для авторизации. Весь перехваченный трафик может быть сохранен в файл для последующего анализа. Что особенно радует — это гибкая система фильтров, которая позволяет отбрасывать ненужные пакеты и перехватывать только то, что нужно. А настраиваемые
СПЕЦИАЛЬНАЯВЕРСИЯСНИФЕРА COMMVIEW ДЛЯРАБОТЫВБЕСПРОВОДНЫХСЕТЯХ
компенсируется предварительно запущенным Kismet’ом. Перехваченные данные утилита бережливо складывает в папку logs/, указывая в названии файлов источник данных
(ssids.log, cookies.log, httpauth.log и т.д.). А
для большего удобства в комплекте идет GUI-интерфейс, реализованный в виде вебсервера, который по умолчанию поднимается на 127.0.0.1:8000.
COMMVIEW FOR WIFI
www.tamos.ru/
products/commwifi
Специальная версия известного виндового снифера CommView, созданная для захвата
ианализа сетевых пакетов в беспроводных сетях 802.11a/b/g/n. Утилита получает информацию от беспроводного сетевого адаптера
исразу декодирует анализируемые данные, отображая их в удобном для переваривания виде. В случае необходимости, пакеты можно дешифровать с использованием пользовательских ключей WEP или WPA-PSK и декодировать вплоть до самого низкого уровня
ПОЗАЯВЛЕНИЮРАЗРАБОТЧИКОВ, СКОРОСТЬПОДБОРАWPA КЛЮЧАМОЖЕТВОЗРАСТИВ РАЗЫ, ЕСЛИИСПОЛЬЗОВАТЬ ВОЗМОЖНОСТИСОВРЕМЕННЫХ ГРАФИЧЕСКИХАКСЕЛЕРАТОРОВ
предупреждения позволяют сообщать пользователю о важных событиях, таких как подозрительные пакеты, высокая загрузка сети или неизвестные адреса. Словом, вам отличная программа для винды за исключением одного — она платная.
WIRELESS SECURITY AUDITOR
www.elcomsoft.ru
Еще одна платная, но очень любопытная разработка. Wireless Security Auditor
позволяет проверить надежность (да, теперь это так называется! :)) WPA/ WPA2, но используя современные методики для вычислений с помощью графических процессоров. В дополнение к режиму, когда восстановление производится средствами только центрального
ПРОСМАТРИВАЕМЧЕРЕЗGUIИНТЕРФЕЙСКУКИСЫ, ПЕРЕХВАЧЕННЫЕСПОМОЩЬЮWIFIZOO
процессора, WSA использует технологию, которая в процессе восстановления ключа задействует графические акселераторы. Тут надо сказать, что сама программа не перехватывает трафик из беспроводной сети, а имеет дело только с дампом сетевых сообщений
(поддерживаются форматы TCPDUMP, CommView, PSPR), т.е. работает в связ-
ке со снифером. Важно, что для ускорения вычислений подойдет вовсе не любая карта, а только топовые модели ускорителей: NVIDIA (GeForce 8, 9, 200 и выше) или ATI (RADEON HD 3000 Series
и выше). EWSA поддерживает атаки по словарю и поддерживает режимы мутации пароля (например, слово password заменяет на p@ssword и т.д.)
WIRELESSKEYVIEW
www.nirsoft.net/utils/ wireless_key.html
Уже сам не раз сталкивался с ситуацией, когда тупо забываешь ключ от собственной точки доступа. Кажется, это была строчка из Лермонтова? Черт, или Пушкина? Не помню. Моментально освежить память помогает утилита WirelessKeyView, которая вытаскивает из реестра сохраненные в системе WEP/
WPA ключи. Приятно, что WirelessKeyView
работает как с сервисом Wireless Zero Configuration в WinXP, так и WLAN AutoConfig, которым пользуются юзеры Висты. z
XÀÊÅÐ 06 /126/ 09 |
027 |
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
|
d |
|
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
|
i |
|
|
|
|
F |
|
|
|
|
|
|
|
i |
|
||
|
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
t |
|
||||
P |
D |
|
|
|
|
|
|
|
|
|
o |
|
|
|
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
NOW! |
r |
|
|
|
|
|
|
|
NOW! |
r |
|||||||||||
|
|
|
|
|
|
BUY |
>>m |
|
|
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
|
to |
|
|
|
|
pc_zone |
|
|
|
|
|
|
to |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
m |
||||
w Click |
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
o |
||||||||||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
.c |
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
||||
|
|
p |
df |
|
|
|
|
e |
|
|
|
|
|
p |
df |
|
|
|
|
e |
|
|||||
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
g |
|
|
|
|||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|||||
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
apy |
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
СТЕПАН «STEP» ИЛЬИН |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
/ STEP@GAMELAND.RU / |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
РАБОТА |
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
СОСКАЛЬПЕЛЕМ |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
РАЗБИРАЕМСЯ С УТИЛИТОЙSCAPY |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
Какможновоплотитьснифер, фазериконструкторпакетовводной |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
утилите? СоздателиScapy доказали, чтоэтовозможно. Работачерез |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
текстовыйинтерпретатор, возможно, испугаетбольшинствопользо- |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
вателей. Номы, освоивпростойсинтаксис, сможемейоднойзаме- |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
нитьмножествоспециализированныхутилит. |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
ОсновноеназначениеScapy — манипулиро- |
зователем осуществляется не через ключи |
лизации известных приемов, способных заме- |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
zone |
|
|
|
|
ваниепакетами. Ноэтифункцииреализованы |
в командной строке, а через интерпретатор |
нить массу других утилит. Тут надо сказать, что |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
настольтолково, чтовкупесиспользуемым |
Python’а. Необычный подход сначала может |
прога изначально написана для никсов, и под |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
>>pc |
|
|
|
|
интерпретаторомPython, можновыполнять |
смутить, но когда разберешься с простым |
тем же Linux’ом запустится с пол пинка, а вот |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
рядсамыхразнообразныхзадач: начинаяот |
синтаксисом и осознаешь, что к твоим |
для использования виндового порта придется |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
банальногосканированияпортовизаканчи- |
услугам предоставляется еще и вся мощь |
чуть попыхтеть. |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
ваясложнымиприемамидляопределения |
Python’а, вдруг понимаешь: «А ведь удобно, |
Первое, что потребуется, — это установлен- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
инфраструктурысети. Витогеполучаем |
черт подери! И как это другие до этого не |
ный в системе интерпретатор Python. Тут не |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
однуединственнуюутилиту, котораяможет |
додумались!». |
надо спешить и скачивать самый последний |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
заменитьтакиеизвестныетулзы, какnmap, |
СОВЛАДАЙ С ВИНДОЙ! |
релиз. Во-первых, Scapy написан на второй |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
arpspoof, arp-sk, arping, tcpdump, tethereal, |
ветке Python’а, а поэтому можно даже не про- |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
p0f. Иболеетого— готоваподстроитьсяпод |
Чтобы не грузить тебя теорией, предлагаю |
бовать запускать ее на последнем 3.х билде. А, |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
самыеспецифическиеситуации. |
сразу взять быка за рога и разбираться с про- |
во-вторых, для корретной работы программы |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
Вообще, Scapy сильно отличается от многих |
граммой на конкретных примерах. Сначала мы |
придется установить несколько дополнитель- |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
других утилит. Она работает в текстовом |
разберемся, как просто составлять и отправ- |
ных модулей, некоторые из которых имеют |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
окружении, однако взаимодействие с поль- |
лять пакеты в сеть, а потом посмотрим на реа- |
портированные версии только для 2.5 релиза. |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
028 |
|
|
|
XÀÊÅÐ 06 /126/ 09 |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
Scapy
>>
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
pc_zonew |
|
|
to |
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
||||
|
|
|
|
|
o |
m |
||||
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
ОБЩЕНИЕСОSCAPY ОСУЩЕСТВЛЯЕТСЯЧЕРЕЗИНТЕРАКТИВНЫЙ ИНТЕРФЕЙС, РЕАЛИЗОВАННЫЙСПОМОЩЬЮИНТЕРПРЕТАТОРА
PYTHON
Шпаргалка пофункциям
Scapy
Sr— Отправить и принять пакеты на 3 уровне
sr1— Отправить и принять пакеты на 3 уровне и вернуть только первый ответ srp— Отправить и принять пакеты на 2 уровне
srp1— Отправить и принять пакеты на 3 уровне и вернуть только первый ответ sniff— Снифинг пакетов
p0f— Пассивный ОС fingerprint arpcachepoison — ARP-спуфинг send— Отправить пакет на 3 уровне
sendp— Отправить пакет на 2 уровне traceroute— TCP traceroute
arping— ARP-ping
nmap_fp— fingerprint с помощью nmap
Если версия будет отличаться, их инсталлятор тупо обломает тебя с установкой, сославшись на отсутствии в системе нужной сборки питона. Небольшие манипуляции в реестре могут помочь это побороть, но никто не гарантирует дальнейшей 100% совместимости. Короче говоря, чтобы все прошло гладко и далее работало без проблем, рекомендую тебе следующий наборчик (весь он, само собой, есть на нашем DVD):
•Собственно сам Scapy для винды;
•Python 2.5 (www.python.org);
•расширения интерпретатора pywin32 (python.net/crew/mhammond/win32);
•драйвер для перехвата пакетов WinPcap 4.02 (www.winpcap.org);
•pypcap — модуль работы с драйвером Pcap (code.google.com/p/pypcap);
•libdnet (code.google.com/p/libdnet);
•pyreadline (ipython.scipy.org/moin/ PyReadline/Intro);
Помимо этого можно установить ряд допол-
нительных модулей, чтобы открыть пару дополнительных возможностей Scapy. Подробнее о них можно прочитать во врезке.
ПЕРВЫЙ ЗАПУСК
После установки в системе будут прописаны ассоциации для запуска Python-скриптов, поэтому можно просто перейти в папку со Scapy и в командной строке набрать: scapy.py (или python scapy.py). Как я уже сказал, не стоить ждать подсказки со списком ключей для запуска — вместо этого ты окажешь внутри текстового окружения. По сути, это интерпретатор Python, сдобренный специальными функциями Scapy. Можешь ввести команду ls(), после чего оболочка должна вернуть список протоколов, с которыми она поддерживает работу:
>>> ls( ) |
|
ARP |
: ARP |
BOOTP |
: BOOTP |
DNS |
: DNS |
... |
|
|
|
Прежде чем конструировать первый пакет, необходимо понять для себя несколько вещей:
1.Каждый пакет — это объект, у которого есть поля-атрибуты для редактирования, а также методы для различных действий с ним.
2.Scapy может работать на разных уровнях модели OSI: втором и третьем. Важно понимать, что данные с запросом DNS сначала инкапсулируются внутрь UDP-пакета (потому как протокол DNS использует для передачи данных UDP), далее уже UDP-пакет инкапсулируется внутрь IP-пакета, и в конце концов эта сборная солянка размещается внутри Ethernet-фрейма. Получается слоеный пирог, о чем стоит помнить, когда работаешь со Scapy. Наш первый сетеваой пакет, как и все остальные, разделен на слои, и каждый слой представляется в Python/Scapy как экземпляр объекта. Мы можем создать объект для каждого слоя, опционально задать некоторые параметры и объединить их в один пакет. В
СНИФАЕМICMP-ТРАФИК
качестве примера создадим TCP/IP-пакет для
22порта.
>>>a=IP( ) (1)
>>>a
<IP |>
>>> a.ttl (2)
64
>>>a.ttl=32 (3)
>>>a
<IP ttl=32 |>
>>>b=TCP(dport=22) (4)
>>>c=a/b (5)
>>>c
<IP frag=0 ttl=32 proto=TCP |<TCP dport=ssh |>>
Сначала (1) действием мы создаем экземпляр IP-пакета и сохраняем его в переменную а. Важно, что все значения IP-пакета выставляются по умолчанию — это делает сама Scapy. Причем значения по умолчанию не отображаются пользователю далее, когда он просит интерпретатор вывести его параметры. Посмотреть значение нужного поля можно, обратившись к атрибуту нужного объекта (2). Изменим его на значение 32 (3) и с помощью следующей команды убедимся, что изменение прошло успешно. Далее создадим TCP-слой, присвоив его переменной b и установив значение поля dport (порт назначения) равным 22. Далее слепим вместе переменные a и b, используя оператор /, чтобы получить готовый TCP/ IP-пакет, к которому можно обратиться через переменную c. Заметь, что некоторые поля IP автоматически поменяли значения, чтобы инкапсулировать TCP-слой. Тут стоит сказать, что значения полей вовсе необязательно должны быть корректными
— указав заведомо неверное значение для одного или нескольких полей, мы очень просто получаем готовый фаззер (о фаззинге поговорим ниже)! В конце концов, никто не заставляет создавать кучу переменных для каждых слоев, все можно уместить в рамках одной строки:
a=Ether()/IP(dst="www.xakep.ru)/ TCP()/"GET /index.html HTTP/1.0 \n\n"
В этом примере мы добавляем еще один слой — канальный, на котором передаются фреймы Ethernet.
XÀÊÅÐ 06 /126/ 09 |
029 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
>>m |
|
|
|
||||
w Click |
to |
|
|
|
|
pc_zone |
|
|
|||||
|
|
|
|
|
|
||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
||
|
|
|
df |
|
|
n |
e |
|
|
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
||
apy |
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
WARNING |
warning |
|
Привсемфункцио- |
|
нале, надопризнать, |
|
чтоуScapy естьиряд |
|
недостатков. Прежде |
|
всего, стоитпомнить, |
|
чтотулзанаписанана |
|
Python снесколькими |
|
уровнямиабстрак- |
|
ции, иработаетэто |
|
неоченьбыстро. |
|
Скоростьпередачи |
ВИЗУАЛИАЗАЦИЯПЕРЕХВАЧЕННЫХ |
пакетовв6 Мбит/с |
|
— пожалуй, верхний |
ДАННЫХСТАНОВИТСЯДОСТУПНОЙПОСЛЕ |
предел. Болеетого, |
УСТАНОВКИДОПОЛНИТЕЛЬНЫХМОДУЛЕЙ |
вслучаеработыс |
СОЗДАЕМ |
большимколиче- |
|
ствомпакетовможет |
ПОСЛЕДОВАТЕЛЬНОСТИ ПАКЕТОВ |
потребоватьсямного |
Ровно как и обычный пакет, несложно создать и после- |
памяти. |
довательности пакетов. За примером использования |
|
далеко ходить не нужно, ведь создав последовательность |
|
TCP-пакетов на различные порты, мы получаем готовый |
|
порт-сканер. И от этого лишь радужнее тот факт, что |
DVD |
последовательность пакетов можно создать одной строч- |
кой, указав для конкретного поля не значение, а массив |
|
|
из нескольких значений. Пакеты, созданные подобным |
|
образом, называются неявными. |
dvd
Все, чтонужнодля |
>>> pkts = IP(ttl=[1,3,5,(7,10)])/TCP( ) |
||
работысоScapy, ты |
>>> pkts |
|
|
найдешьнанашем |
<IP |
frag=0 ttl=[1, 3, 5, (7, 10)] |
|
DVD. Тамжебудут |
proto=TCP |<TCP |>> |
|
|
примерысценари- |
>>> [pkt for pkt in pkts] |
|
|
евдляразличных |
[<IP |
frag=0 ttl=1 proto=TCP |<TCP |
|>>, |
приемов(напри- |
<IP |
frag=0 ttl=3 proto=TCP |<TCP |
|>>, |
мер, DNS-спуфинг), |
<IP |
frag=0 ttl=5 proto=TCP |<TCP |
|>>, |
атакжепримеры |
<IP |
frag=0 ttl=7 proto=TCP |<TCP |
|>>, |
Python-сценариев |
<IP |
frag=0 ttl=8 proto=TCP |<TCP |
|>>, |
сиспользованием |
<IP |
frag=0 ttl=9 proto=TCP |<TCP |
|>>, |
Scapy какмодуля. |
<IP |
frag=0 ttl=10 proto=TCP |<TCP |
|>>] |
|
|
||
|
ВитогеполучаемсемьTCP/IP-пакетовсTTL 1, 3, 5, 7, 8, 9 и10. |
||
|
|||
|
|
|
|
|
>>> IP(dst="192.168.*.1-10")/ICMP( ) |
|
|
|
<IP |
frag=0 proto=ICMP dst=<Net 192.168.0- |
|
|
2.*> |<ICMP |>> |
|
|
|
|
|
|
С помощью десяти созданных ICMP-пакетов мы простым пингом сканируем первых десять адресов каждой из под-
сетей 192.168.
>>> IP(dst="192.168.4.0/24")/ TCP(dport=(0,1024))
<IP frag=0 proto=TCP dst=<Net 192.168.4.0/24> |<TCP dport=(0, 1024) |>>
Всего одна строка нужна, чтобы выполнить TCP SYN всех привилегированных портов (от 0 до 1024) в подсети 192.168.4.0/24. По сути, для любого сканирования нам надо взять какое-то конкретное поле и пройтись по
030
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
|
X |
|
|
|
|
|
|||
|
|
|
- |
|
|
|
|
|
d |
|
||
|
|
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
|
|
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
w Click |
to |
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||||
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
РЕЗУЛЬТАТ3D-МОДЕЛИРОВАНИЯ
TRACEROUTE’А
всем возможным и интересным для нас назначениям. Если пройтись по портам назначения TCP, то получаем различного рода сканер TCP-портов, в зависимости от флагов, которые будем отсылать в пакете. Если отправлять пакеты на удаленный IP-адрес по ICMP, TCP или ARP, получаем соответственно TCP-пинг,
ICMP-пинг и ARP-пинг. А если сканировать значения TTL, то получаем утилиту traceroute. Словом, можно сделать очень многое, и все зависит от твоего воображения.
ПРИЕМ-ОТПРАВКА ПАКЕТОВ
Как конструировать пакеты из нескольких уровней, мы разобрались. Теперь осталось за малым — отправить пакеты в сеть и, возможно, получить на них ответ. Как я уже сказал выше, Scapy может работать на двух разных уровнях сетевой модели OSI, для каждой из них используется своя функция для отправки. Функция send() отправит пакет на 3 уровне: она сама выберет нужный интерфейс и варианты роутинга. В качестве параметра надо указать пакет или переменную с уже сконструированным пакетом:
send(IP(dst="1.2.3.4")/ICMP())
Функция sendp() работает на втором уровне, поэтому выбор правильного интерфейса и протокола будет на тебе.
SEND(IP(DST=»1.2.3.4»)/ICMP())
>>> sendp(Ether()/ IP(dst="1.2.3.4",ttl=(1,4)), iface="eth1")
....
Sent 4 packets.
Тут надо сказать, что на практике гораздо чаще встречаются ситуации, когда нужно не только отправить пакет, но и принять ответ от удаленной стороны. Поэтому в Scapy разумнее использовать специальную функцию для отправки (send) и приема (recieve) пакетов sr(). Эта функция возвращает два набора: первый — из отправленных пакетов и полученных на них ответов; второй — набор пакетов, ответы на которые не были получены. Другая функция sr1() является вариацией первой с той лишь разницей, что принимает только один ответный пакет. Надо сказать, что эти функции работают на третьем уровне, поэтому и пакеты должны быть соответствующих протоколов (IP, ARP). Если
XÀÊÅÐ 06 /126/ 09
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
F |
|
|
|
|
|
|
|
t |
|
|||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
r |
|||||
P |
|
|
|
|
|
NOW! |
o |
|
|
|
P |
|
|
|
|
|
NOW! |
o |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
w Click |
|
BUY |
|
|
m |
|
>> |
|
w Click |
|
BUY |
|
m |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
w |
|
|
to |
|
|
|
|
|
|
|
|
|
pc_zonew |
|
|
to |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
g |
.c |
|
|
|
|
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
флага A. Далее легко получаем списокCLOUD |
Получаем ответы на широковещательный |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
COMPUTING |
ARP-запрос и выводим результат в удобо- |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
открытых портов из массива с принятыми |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ответами: |
читаемой форме: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>> for s,r in ans: |
ans.summary(lambda |
(s,r): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... if s[TCP].dport == r[TCP]. |
r.sprintf("%Ether.src% |
%ARP. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sport: |
psrc%") ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... print str(s[TCP].dport) + " |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
isCLOUDunfiltered" |
В Scapy есть уже реализованная функция |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
COMPUTING |
arping(), которая реализует тже самое. В каче- |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Если ответ не получен, вероятно, порт |
стве параметра ей необходимо лишь указать |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
закрыт. Поэтому просто отображаем на |
сегмент сети: arping(«192.168.1.*») Другой |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
РЕЗУЛЬТАТТОЛЬКОЧТОСОЗДАН- |
экран номера портов из запросов, на кото- |
вариант найти активные хосты в сети — |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
НОЙARP PING’А |
рые ответа не последовало: |
банально пропинговать каждый узел в задан- |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ном диапазоне, что легко выполняется коман- |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
ты хочешь спуститься до второго уровня и |
>>> for s in unans: |
дой, отправляющей в сеть ICMP-запросы: |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
оперировать напрямую пакетами Ethernet, |
... print str(s[TCP].dport) + " |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
802.3, есть функция srp(). |
is filtered" |
>>> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
МУТИМ СКАНЕР ПОРТОВ |
ПОИСК ЖИВЫХ |
ans,unans=sr(IP(dst="192.168.1.1- |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
254")/ICMP()) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
Теперь, когда мы умеем отправлять и при- |
ХОСТОВ В СЕТИ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
нимать пакеты, разберем конкретные |
Еще одна конкретная задача — найти все |
Список живых хостов получаем из массива |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
варианты использования Scapy. Начнем со |
активные машины в локальной сети. Самый |
с ответами: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
сканера портов. О том, как сгенерировать |
быстрый способ — использовать метод |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
пакеты для TCP-сканирования портов, мы |
ARP Ping’а (обычно для этого используется |
>>> ans.summary(lambda |
(s,r): |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
уже говорили. Давай посмотрим теперь, как |
уже готовая утилита arping). Напомню, что |
r.sprintf("%IP.src% |
is |
alive") ) |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
Дополнительные |
Если протокол ICMP блокируется, можно |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
Ping’и, например, с помощью TCP SYN: |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
попробовать использовать различные TCP |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
модули |
|
>>> ans,unans=sr( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если в систему дополнительно установить Pyx и MikTex, то Scapy позволит построить |
IP(dst="192.168.1.*")/ |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
2D-графики и экспортировать их формат PDF: |
|
TCP(dport=80,flags="S") |
) |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
>>> p=IP()/ICMP() |
|
Любой ответ будет означать, что узел активен. |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
>>> p.pdfdump(«test.pdf») |
|
ARP-СПУФИНГ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Процесс передачи пакетов можно отобразить и в виде 3D-диаграммы. Для этого потребуется |
Не составит труда и использовать клас- |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
VPython и следующая команда: |
|
сический прием ARP cache poisoning, |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о которым мы вспоминали буквально в |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
>>> a,u=traceroute([«www.python.org», «google.com»,»slashdot.org»]) |
предыдущем номере, в статье «Вскрываем |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
>>> a.trace3D() |
|
SSL». Смысл в том, чтобы путем засорения |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ARP-кеша клиента, заставить его в каче- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
У Scapy нет встроенных функций для определения типа ОС на удаленном хосте, но зато есть |
стве шлюза использовать совершенно дру- |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
возможность использовать всю мощь утилит Nmap и Queso (их предварительно нужно уста- |
гой узел — где мы легко можем установить |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
новить в систему: |
|
снифер. Делается это так: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>> nmap_fp(«192.168.0.1») |
|
>>> send( Ether(dst=clientMAC)/ |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Begin emission: |
|
ARP(op="who-has", psrc=gateway, |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Finished to send 8 packets. |
|
pdst=client), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inter=RandNum(10,40), loop=1 ) |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Received 19 packets, got 4 answers, remaining 4 packets |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
(0.88749999999999996, [‘Draytek Vigor 2000 ISDN router’]) |
Впрочем, Scapy позволяет не заморачи- |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ваться и использовать уже реализованную |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
функцию arpcachepoison (), указав в каче- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
объединить это с обработкой результата. |
протокол ARP используется в сети для |
стве первого параметра свой MAC-адрес, а |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
Сканирование с помощью ACK-пакетов |
определения MAC-адреса по заданному |
в качестве второго — IP жертвы. |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
легко реализуется командой: |
IP-адресу. Смысл ARP Ping’а заключается |
FUZZING |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
в том, чтобы спросить все хосты в локаль- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>> ans,unans = |
ном сегменте их IP-адрес: |
Сам прием фаззинга прост, как дважды два: |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
sr(IP(dst="www.xakep.com")/ |
|
«подставить в каком-нибудь месте такое |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
TCP(dport=[80,666],flags="A")) |
>>> ans,unans=srp(Ether(dst="ff: |
значение, которого быть не может, и посмо- |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ff:ff:ff:ff:ff")/ARP(pdst="192.16 |
треть, что будет». Скажем, если флаг в |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Нужный эффект нам дает использование |
8.1.0/24"),timeout=2) |
каком-то поле пакета может принимать зна- |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
XÀÊÅÐ 06 /126/ 09 |
|
|
|
031 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
i |
|
|
|
F |
|
|
|
|
|
|
|
i |
|
||
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
t |
|
||||
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
P |
D |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
NOW! |
r |
|
|
|
|
|
|
NOW! |
r |
|||||||||||
|
|
|
|
|
BUY |
>>m |
|
|
|
|
|
|
|
BUY |
|
|
||||||||
|
|
|
|
to |
|
|
|
|
pc_zone |
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
m |
|||||
w Click |
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
o |
||||||||||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
.c |
|
|
|
. |
|
|
|
|
|
|
.c |
|
||||
|
|
p |
df |
|
|
|
|
e |
|
|
|
|
p |
df |
|
|
|
|
e |
|
||||
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
g |
|
|
|
||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
apy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
Scapy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
ПИШЕМARP МОНИТОР, ПОДКЛЮЧИВSCAPY КАКМОДУЛЬPYTHON’А |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
чения 1,2,3,нато можнопальцахпослать 5 — и отследить реакцию. |
0001 Ether / IP / ICMP 192.168.5.21 echo- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Как среагирует на такую подставу демон? А как клиент? В |
request 0 / Raw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
принципе некорректные значения можно подставлять и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HTTP://WWW |
вручную, однако для большего удобства в Scapy реализо- |
Обрати внимание, что отправку пакетов и снифинг можно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вана функция fuzz(), которая преобразует любой коррект- |
провести всего один раз, а ответы и результат снифинга |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
ный пакет в пакет, специально заточенный для фаззинга. |
присвоить переменной, после чего делать с ней все что |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
links |
|
Фишка в том, что функция автоматически заменяет все |
угодно. Столько раз — сколько потребуется. Получаем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
• ВерсияScapy для |
поля (кроме случаев, когда значение поля должно быть |
минимум активности, которая нас может спалить, и макси- |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
IPv6: namabiiru. |
подсчитано — например, поля с контрольными суммами) |
мум возможностей по интерпретации. В нашем примере |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
hongo.wide.ad.jp/ |
случайными значениями, но подходящими по размеру |
перехваченные пакеты мы помещаем в массив a, и теперь |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
scapy6 |
|
для этого поля. Разберем пример: |
можем обратиться к любому пакету, просто указав его |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
индекс: к примеру, a[1]. Метод nsummary(), как видишь, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
• Unit-тестирование |
>>> send(IP(dst="target")/fuzz(UDP()/ |
выводит общую характеристику перехваченных пакетов. |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
дляScapy: secdev.org/ |
NTP(version=4)),loop=1) |
Перехваченные данные в некоторых случаях удоб- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
projects/UTscapy. |
|
нее просматривать и анализировать в удобном GUI- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
ВэтомслучаеIP-слойбудетсамымобычным, втовремякакдля |
интерфейсе того же Wireshark’а. Для этого перехвачен- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
• Инжектирование |
UDP иNTP (это, кстатиговоря, протоколсетевойсинхронизации |
ные пакеты рекомендую сохранить в файл в формате |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
пакетоввWifi: |
времени) будетиспользоватьфаззинг. Причемконтрольная |
PCAP: wrpcap(«temp.cap»,pkts). Обратное действие осу- |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
sid.rstack.org/index. |
суммавUDP-пакетебудеткорректной, вкачествепортабудет |
ществляется так: pkts = rdpcap(«temp.cap»). |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
php/Wifitap_EN. |
использоватьсяпорт123 (стандартныйдляNTP), аверсияNTP |
РАЗ ПЛЮНУТЬ! |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
будетустановленана4 (т.к. онаявнозаданаприсозданиипаке- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
та). Остальныеполябудутзаполненыслучайнымизначениями. |
Самая главная фишка Scapy в том, что она позволяет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СНИФИНГ |
обойтись без написания новой утилиты. Если для напи- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сания Proof of concept для DoS’а Microsoft’овского стека |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Не даром мы устанавливали WinPcap и модуль для работы |
IP требовалось 115 строчек на C, то в Scapy это можно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
с ним: в Scapy реализованы отличные возможности для |
реализовать всего лишь одной строкой: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
снифинга данных. Основная функция — sniff (), в качестве |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
параметров которой можно указать интерфейс для про- |
send(IP(dst="target",options="\x02\ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
слушки, задать фильтр и количество пакетов для перехва- |
x27"+"X"*38)/TCP()) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
та. Если интерфейс не указан, снифинг производится по |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
всем интерфейсам сразу. Вот так просто можно перехва- |
С помощью Scapy реально сотворить все, что угодно. Хочешь |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
тить ICMP-трафик, связанный с хостом 66.35.250.151: |
сканер портов с нужной тебе логикой — легко. Добавить |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
возможность fingerprint’а? Раз плюнуть. А, впрочем, почему |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>> sniff(filter="icmp and host |
использовать его только для пентеста? Перехватывая и обра- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66.35.250.151", count=2) |
батывая пакеты, можно легко сварганить уникальную IDS- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Sniffed: UDP:0 TCP:0 ICMP:2 Other:0> |
систему с триггерами на любые события. И самое главное — |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>> a=_ |
сделать это очень просто. Скажу больше — никто не обязыва- |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
>>> a.nsummary() |
ет тебя постоянно работать через интерпретатор. Scapy очень |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0000 Ether / IP / ICMP 192.168.5.21 echo- |
просто подключить к своему Python-сценарию как модуль и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
request 0 / Raw |
использовать все ее возможности на всю катушку! z |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
032 |
|
|
XÀÊÅÐ 06 /126/ 09 |
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
>>m |
|
||||
w Click |
to |
|
|
|
|
pc_zone |
|||||
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
TORRENT TRACKER
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
DATA |
|
KEY |
DISTRIBUTED |
|
Hash |
|
NETWORK |
SOME DATA 1 |
DFCD3454 |
|
|
function |
|
||
|
|
||
|
|
|
|
SOME DATA 2 |
Hash |
52ED879E |
|
function |
|
||
|
|
|
SOME DATA 3 |
Hash |
46042841 |
|
function |
|||
|
|
||
|
|
PEERS |
|
ГЛЕБ ПОЛИКАРПОВ |
|
|
>> pc_zone
/ GLEB.POLI@GMAIL.COM /
ПОДНОГОТНАЯ
ТОРРЕНТОВ
ДЕСЯТОКСЕКРЕТОВBITTORRENT, ОКОТОРЫХ ТЫНЕЗНАЛ
Скачать«горяченький» файл— подчаснетакаяпростаязадача. Обычныехостингимрут, какмухи, невыдерживаянагрузки, файлобменникижадноклянчатденьги, аFTP-сервакинедаютслитьфайл из-заограниченияпоколичествупользователей. Итолькочерез BitTorrent можнонетолькозакачатьвкусняшку, ноисделатьэтомаксимальнобыстро. Ещебольшегоудобстватыдобьешься, воспользовавшисьнашимисоветами.
Сегоднямынебудемговоритьобанальных вещах. Новыесериисериаловтеперьподсилу дажедомохозяйкам, покартинкамустановив- шимкакой-нибудьторрент-клиент. Намного интереснееразобраться, какуправлятьзакачкамисмобилы, получитьаккаунтынаприватных трекерахиавтоматическискачиватьсвежие дистрибутивыпрограмм. Вотэтимизаймемся!
ОБХОДИМСЯБЕЗКЛИЕНТА
Всечащеначинаюзамечать,чтонекоторые эксклюзивныевещистановитсявозможным
034
скачатьтолькочерезtorrent.Такиефайлы обычнопоразнымпричинамбыстроудаляются
схостинговифайловыхобменников.Даипросто обезумевшаясворапользователейнередко валитсерверилиполностьюрасходуетеголимит потрафикуухостера.Доманичтонемешает воспользоватьсялюбимымклиентом(например,uTorrent),носамличнонеразсталкивался
сситуацией,когдафайлкровьизносанужно былоскачатьизсовершеннолевогоместа.Как вариант,намашинеможноустановитьпортируемыйклиент,которыхбольшинство,ноесть
способпроще.Слитьнужныйфайлчерезторрент подсилуодномулишьбраузерувкупесонлайн инструментомBitLet(www.bitlet.org).Этоочень простойсервис:надолишьскопироватьлинк дляторрентавединственноенастраницеполе, нажатьнакнопку«Downloadtorrent»идалеевыбратьпапкудлясохраненияфайланалокальном диске.Вбольшинствеслучаев,началозакачки незаставитсебядолгождать.Секретработы сайтавспециальномJava-апплете,которыйи выполняетфункцииTorrent-клиента.Ноотсюда жевозникаетиединственноетребование:необ-
XÀÊÅÐ 06 /126/ 09
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
>>
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
pc_zonew |
|
|
to |
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
||||
|
|
|
|
|
o |
m |
||||
|
w |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
ЗАКАЧИВАЕМФАЙЛЫИЗТОРРЕНТОВПРЯМОЧЕРЕЗЛЮБОЙ БРАУЗЕР
ходимопозаботиться,чтобыдлятвоегобраузера былустановленплагинJavaVM.
РЕГИСТРИРУЕМСЯНА ЗАКРЫТЫХТРЕКЕРАХ
Нидлякогонесекрет, чтодлярегистрациина закрытыхторрент-трекерахнужныинвайты. ВзятьхотябылегендарныйDemonoid. Только гдеэтиинвайтывзять, еслидрузьяотаких сервисахдаженеслышали. Насамомделе, полностьюприватныетрекеры— большая редкость. Многиеизтакихвотзакрытых трекеровоткрываютсвободнуюрегистрациюв определенныеднинеделиилидажеопределенныечасы. Уследитьзаэтимдовольно тяжело, муторно— вконцеконцов, ненашэтот методвручнуюзаходитьнасайтвнадежде, чтовот-воттамоткроетсярегистрация. Не будуговоритьпоповодутого, чтоможнонаписатьпростенькийскрипт, которыйсамвсе автоматическибудетпроверять. Нонескажу лишьпотому, чтоужедавносделализанас создателисервисовTrackerchecker.org и www.opentrackers.fr. Первыйоченьпростой:
скореевсего, какой-тогикегосделалдлясебя, апослеоткрылдлявсехжелающих. Совсем другоедело— opentrackers. Туттынетолько можешьузнатьосостояниирегистрации нужныхтебетрекеров(азаодноиоткрытьдля себякучуновых), ноипосмотретьконкретную статистикупокаждомуизних. Ачтобынепропустить«счастливыечасы», тебепредлагается подписатьсянаобщийдлявсехтрекеров RSS-фид, либонафидпоконкретномуресурсу. Еслиприсмотреться, торядомснаиболеепопулярнымитрекерамиестьнебольшаяиконка (например, уDemonoid’аилиFileList.org), по которойможноперейтинасайтыдляобмена приглашениями. Обычноэтилинкиведутна веткикаких-тофорумов, поэтомудлязапроса приглашенияпридетсяпредварительноза-
ВЕБ-ИНТЕРФЕЙСМАЛОЧЕМ ОТЛИЧАЕТСЯОТСАМОГО
UTORRENT’А, ЗАТОПОДКЛЮ-
ЧИТЬСЯКНЕМУМОЖНООТКУДА УГОДНО
регистрироваться. Кстатиговоря, дляобмена инвайтамиестьдажеспециализированный ресурс— www.zeropaid.com.
РАБОТАЕМБЕЗТРЕКЕРА
Увы,нотрекерызачастуюоказываютсянедоступными.Крупныхиизвестныхтрясутправообладатели,небольшиеиприватныебанально оказываютсянедоступнымииз-запроблемс хостингом.СампротоколBitTorrentподразумевает обязательноеучастиетрекера,ноклиентыразвиваютсянастолькобыстро,чтоужесамипридумали дополнениядляпротокола.Такчтоклиентымогут работатьвообщебезтрекера.Есливопциях программыестьуказаниенаDHT—считай,так оноиесть.DHT(DistributedHashTable,распре-
деленнаяхэш-таблица)работаетдляразных p2p-технологий,ноконкретноклиентамBitTorrent позволяетобойтисьвообщебезтрекера.Иными словами,клиентсможетнайтипиров,дажеесли трекеротключенилидаженикогданесуществовал.Крометого,торрентыможноразмещатьбез трекера.Утакогоразвитияклиентовестьиложка дегтя:ввидуотсутствиястандартанетединого понятияотом,какдолжнавыглядетьтаблица DHT.Врезультате,внашемлюбимомμTorrentиспользуется тажереализацияDHT,чтоивMainline иBitComet,но,увы,несовместимаясAzureus.В любомслучае,поддержкуDHTвсвоемклиенте необходимовключитьвобязательномпорядке.
УДАЛЕННОУПРАВЛЯЕМ ЗАКАЧКАМИЧЕРЕЗВЕБ
Несколькополезных
сервисов
•Сколько раз, скачав довольно большой файл, ты обнаруживал, что этот вовсе не вожделенная программа, а какой-то непонятный фейк? Вряд ли многим приходит в голову просто нагадить, а вот поднять рейтинг за счет якобы ценного файла горазды многие. Огородить себя от подделок просто: достаточно предварительно проверить подлинность файла, скормив его хэш (а он обязательно прописан в .torrent) специальному сервису — www.torrentspam.com.
•Инструментов для удобного поиска по торрентам рунета не так много. Зато есть замечательный сервис Baratro (baratro.ru), который индексирует торрент-файлы со многих других трекеров, в том числе и закрытых, и предоставляет возможность быстро искать нужные файлы, забыв о проблемах рейтинга.
OPENTRACKERS — ТВОЙИН-
ВАЙТНАЗАКРЫТЫЕТРЕКЕРЫ
Имеянеоченьширокийканал, мнеудобнее закачиватьфайлывмоментмоегоотсутствия дома. Поэтомузачастуюуправлятьзакачкамиприходитсяудаленно. Конечно, ничтоне ограничиваетвиспользованииобычного RPD-клиента, нотуттыопятьоказываешься привязаннымккомпьютеру. Ксчастью, есть способвообщеизбавитьсяоткаких-либо ограничений, установивдлясвоегоклиента веб-интерфейс. ОднимизсамыхраспространенныхвариантовявляетсясвязканашеголюбимогоuTorrent испециальноразработанного веб-интерфейсаWebUI (http://forum.utorrent. com/viewforum.php?id=20). Дляустановкинадо лишьраспаковатьархивспоследнейверсией WebUI прямовпапкуuTorrent’аидалеевключитьеговнастройках. Послетого, какактиви- руешьвеб-клиентсоответствующейгалочкой, тебепредложатввестилогинипарольдля доступа, сделатьгостевуюучетку, атакжезадатьпорт, накоторомклиентбудетпринимать подключения. Вот, собственно, ивсе: теперь, чтобыобратитьсяквеб-интерфейсу, достаточнонабратьвадреснойстрокеhttp://<твой ip>:<указанныйвнастройкахпорт>/gui/. Неважно, откудатыбудешьпользоватьвебинтерфейсом, неважнокакойбраузербудет использоваться— управлятьзакачкамиты можешьхотьчерезмобильныйбраузертелефона(проверенонаOpera Mini). Незабудь проброситьпорты, еслииспользуешьмаршрутизаториразрешитьвходящиеподключения длянужногопортавфайрволе. Длябольшего удобстварекомендуюобзавестисьзаписью
вкаком-нибудьDynDNS-сервисе(например, dyndns.com), чтобывместосвоегоIP вводить что-тоmoitorrent.dyndns.com.
Долженпризнать, чтопоследняяверсияWebUI вышлаещев2008 годуисодержитнесколько неприятныхограничений. Впрочем, такой проектбезразвитиядолгооставатьсянемог. Сейчасактивнопродвигаетсямодификация WebUI WIP, версиядляудобногопросмотрас мобильныхустройствuTorrent MiniUI, атакже ряддругихпроектов, ссылкинакоторыеты найдешьвсноске.
JABBER ИBITTORRENT
Конечно,веб-интерфейс—этововсене уникальнаяфишкаuTorrent.Еслиговоритьо популярномниксовомимаковскомклиенте
XÀÊÅÐ 06 /126/ 09 |
035 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
>>m |
|
||||
w Click |
to |
|
|
|
|
pc_zone |
|||||
|
|
|
|
|
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
WARNING |
warning |
|
|
Несмотрянадурную |
|
|
славу, BitTorrent |
|
|
— этолишьраспре- |
|
|
деленнаясетьдля |
|
|
обменафайлами. |
|
UREMOTE ПОЗВОЛЯЕТУДАЛЕННОУПРАВ- |
Нонадопонимать, |
|
|
|
ЛЯТЬЗАКАЧКАМИЧЕРЕЗWEBUI, НОСПО- |
|
что, используяего |
|
|
|
МОЩЬЮОБЫЧНОГОДЕСКТОПНОГОПРИ- |
|
длязагрузкивареза |
|
ЛОЖЕНИЯ |
илипиратскойвер- |
|
|
сиифильма, |
ЧТОБЫНЕКАЧАТЬВСЕФАЙЛЫИЗRSS- |
подписку.Вобщем-то,большуючастьработывэтомслучае |
тынарушаешьзакон. |
выполняютсамиресурсы,которыегенерируютконтентдляэтих |
|
Авториредакция |
ФИДА, НАДОНАСТРОИТЬФИЛЬТРЫ |
Scapy |
|
самыхфидов.ОсобенночастовстречаютсяRSS-фидысеже- |
|
этонивкоемслучае |
|
недельнымителевизионнымипрограммамиилисериалами, |
непоощряют. |
Transmission(http://www.transmissionbt.com),тодлянего |
закачкукоторыхкакразихочетсяавтоматизировать.Лезтьна |
|
разработаннеменеевпечатляющийвеб-интерфейсClutch |
сайтзакаждойновойсериейтуполень.Затоподписатьсяна |
|
(http://code.recurser.com/wiki/clutch/About).Семимильными нужныйRSS-фидчерезторрент-клиентнесложнее,чемпросто |
|
DVD |
шагамиразвиваетсякросс-платформеннаяпрограммаDeluge |
добавитьновуюзакачку.Соответствующийпунктменюесть |
(deluge-torrent.org),укоторойтакжеестьподобнаяопция.Тут |
практическивовсехсовременныхторрент-клиентах. |
|
|
надоотдатьдолжноеразработчикам,создавшимоткрытую |
Возникаютвопросы, когдадлядоступакподпискетребу- |
dvd |
систему—ибезтогоширокиевозможностиклиентаможно |
етсяHTTP-аутентификация. ЕслииспользоватьuTorrent, |
какугоднорасширитьзасчетплагинов,также,какисама |
тоформатURL дляподпискидолженвыглядетьтак: http:// |
|
Надискетынайдешь |
программа,написанныхнаPython.Наофициальномсайте |
логин:пароль@некий-торрент-сайт.com/rss.php. Или |
всеупомянутые |
естьоднолюбопытноедополнениеRemoteNotify,которое |
другойвариант— снарядитьклиентнужнойcookie (сUID и |
впрограммеутилиты, отправляетсообщенияозавершенныхзагрузкахналюбой |
паролемнанужныйтрекер) воттак: |
|
атакжедополнения |
JabberID.Однаконамногоинтереснеедругаяеевозможность |
http://некий-торрент-сайт.com/rss.php:COOKIE:uid=01;pas |
кним. |
—управлениеTorrent’амиспомощьюпростыхкомандчерез |
s=qwertysdf354scdfg2 |
|
Jabber-сообщения.Можноотправитьсвоемуклиентусообще- |
ЕслиговоритьоuTorrent,тогрехневоспользоватьсявстро- |
|
ниевроде«addhttp://link/link»—иDelugeдобавитновую |
еннойсистемойфильтров,котораянастраиваетсячерезRSS |
|
закачку.IM-клиентестьпрактическиукаждогонателефоне, |
Downloader(вызываетсягорячейкнопкойCtrl-R).Длякаждого |
|
ипочтивсеони,помимопресловутойаськи,начинаютпод- |
фильтраможноуказатьсловосочетание,котороедолжно |
|
держиватьмножестводругихпротоколови,конечноже,Jabber. |
встречатьсяили,напротив,невстречаться,причемдопуска- |
|
ПОДПИСКАНАТОРРЕНТЫПОRSS |
ютсяслужебныесимволы?и*,приоритетдляновыхзакачек |
|
ипапкудлязагрузок.Важно,чтотутненадоуказыватьномер |
|
|
Самыйклассныйспособавтоматизироватьзакачкунекоторых |
серииилисезона(опятьжеупорназакачкуименносериалов), |
|
файлов—подгружатьссылкина.torrent-файлычерезRSS- |
т.к.этонарушитработуфильтра.Дляуказанияэтихпараметров |
|
|
естьотдельноеполесконкретнымшаблоном,рядомжеможно |
НАСТРАИВАЕМШЕЙПЕР: ТЕПЕРЬПОЛНАЯШИРИНАКАНАЛА |
указатьитребуемоекачество(DVDRip,HDTVит.д.). |
|
Ивсе-таки. получаетсядовольно-такиограниченная |
||
БУДЕТДОСТУПНАUTORRENT ТОЛЬКОГЛУБОКОЙНОЧЬЮ |
автоматизация: мынапрямуюзависимотех, ктосоздает |
|
|
|
RSS-фиды. Чтоделать, еслиподпискидляинтересующего |
|
|
насконтентабанальнонет? Воттут-тонамипоможетуже |
|
|
знакомыйинструментYahoo Pipes (pipes.yahoo.com). Этот |
|
|
замечательныйсервиспозволяетобрабатыватьразличные |
|
|
источникиданных(RSS-фиды, любыеHTML-странички), |
|
|
фильтроватьполученныйконтент, выделятьизнегонужные |
|
|
данныеиполучившийсяпотокинформацииоформитьв |
|
|
видеобычногоRSS-фида. Апосколькунастройка«водо- |
|
|
провода» выполняетсяспомощьюграфическогоинтер- |
|
|
фейса, томожнооченьбыстросварганитьготовуюподписку |
|
|
ссовершеннолюбойинформацией, втомчислеиссылками |
|
|
наинтересующиетебяторренты. То, откудатыихбудешь |
|
|
братьипокакомупринципуотбирать, зависиттолькоот |
|
|
тебя. Чтобыбыстреевникнутьвводопроводныедела, реко- |
|
|
мендуютебестатью«Интернетнаоднойстранице» из110 |
|
|
номераz(PDF-версиябудетнанашемдиске). |
АВТОМАТИЗИРУЕМЗАКАЧКИ
Есть еще несколько способов автоматизировать закачки. В том числе и на удаленной машине. Например,
036 |
XÀÊÅÐ 06 /126/ 09 |