Показано с 1 по 1 из 1.

TCPdump - дополнение к фаерволу

  1. #1
    Senior Member Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Аватар для SDA
    Регистрация
    07.01.2005
    Адрес
    Москва
    Сообщений
    7,168
    Вес репутации
    3166

    TCPdump - дополнение к фаерволу

    Я много раз рассказывал уже про firewall’ы. Их главной проблемой является то, что они внушают пользователю чувство уверенности, что он защищен (а после того, как у меня на компьютере Outpost стал занимать 4 Гигабайта оперативной памяти из-за поразившего его червя, использовавшего уязвимость в outpost, я уже полностью перестал так думать). Я предполагаю, что одного firewall'а мало, необходимо иметь еще и обычный анализатор пакетов и голову на плечах. Зачем нужен анализатор пакетов? Например, он может помочь определить, взломали ваш компьютер или просто сканировали, в то время как Kaspersky Anti-hacker даже не даст журнала событий нормального.

    Итак, сегодня я начну повесть о TCPdump (или Windump в windows). Для его установки понадобится WinPCap. Что делает это программа? Она анализирует пакеты, которые предназначены вашему компьютеру и показывает дату соединения, IP-адреса отправителя и получателя, тип пакета, а так же адрес данных в стеке Tcp/ip. Если windump запускается с параметром –vv, то он показывает так же и сам пакет в виде шестнадцатеричного кода.

    Вот пример его отчета:

    12:00:00.000000 Makarov.homenet.4000 > user.homenet.23 : S 100000000:100000000(0) win 8760 (DF)
    12:00:00.000001 user.homenet.23 > makarov.homenet.4000 : S 200000000:200000000(0) ack 100000001 win 1024 (DF)
    12:00:00.000002 makarov.homenet.4000 > user.homenet.23: . ack 10 win 8760 (DF)

    Теперь просмотрим эти записи. Сначала лучше подумайте сами, а потом прочитайте пояснения. Makarov.homenet отсылает с порта 4000 пакет компьютеру user.homenet на порт 23 на соединение (SYN, обозначение буквой S), так что тот занесется в стек с по адресу 100000000, в скобках указан размер полезного содержимого пакета (0 байт), 8760 обозначает размер окна (это размер буфера, который имеет отсылающий в своем распоряжении для обмена данными, а 1460 – максимальный размер TCP-сегмента (максимальный размер(1500) для сетей Ethernet – 40 байт заголовков).

    Далее user.homenet отсылает обратный запрос на makarov.homenet. Он по принципу построения отличается только тем, что в нем есть ack 100000001, что обозначает, что это ответный пакет на соединение (ack), который был занесен в стек по адресу 100000001. Теперь уже makarov.homenet отправляет последний ack пакет, связанный с подключением, в котором говорит user.homenet, что получил его пакет с ответом и ждет первых 10 байт данных. Причем здесь уже цифра написана не 100000001: 100000011, а 10, потому что мы согласовали место, с которого вниз по стеку будут «расти» данные еще при подключении и теперь нам достаточно указывать только размер, а не адрес.

    Если бы был включен параметр –vv, то какой-нибудь пакет выглядел бы так (выбран случайный пакет):

    12:00:00.000000 127.127.127.127 > 127.127.127.128: icmp: echo reply


    Первые 4 биты указывает на используемую версию протокола IP. В данном случае это есть версия 4 (4500 из 16 в двоичную, берем старшие 4 бита, получаем 4, а не потому что первая цифра - 4). Можно узнать версию протокола (который идет со смещением в 9 байт). В данном случае это 11 (четыре части по четыре символа + одна по две итого смещение девять байт, а за ними идет 11). Такое значение подходит для протокола UDP. Можно посчитать заголовок, и соответственно найти полезную часть пакета (данные в нем). Всего надо отсчитать 40 байт, то есть полезная нагрузка здесь - 4F45 4645 4C46.

    Помимо SYN и ACK флагов могут употребляться и другие, которые располагаются в одном байте:

    7 6 5 4 3 2 1 0
    Резерв. Резерв. URG ACK PSH RST SYN FIN

    7 и 6 биты должны быть равны нулю, они зарезервированы, но часто их используют для определению ОС, т.к. стеки в разных ОС по разному реагируют на эти флаги.

    URG – экстренная информация, ее надо передать раньше другой (обозначается буквой U)
    PSH – передача данных проходит быстрее (обозначается буквой P)
    RST – reset, срочное завершение (обозначается буквой R)
    FIN – медленное завершение (обозначается буквой F)

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

    Хочется рассмотреть еще один случай. В нем в отчет добавится еще один параметр – номер пакета. Это происходит из-за фрагментации, которая существует чтобы большие пакеты могли проходить в сети, в которой существует предел размера пакета.

    makarov.homenet > user.homenet: icmp: echo request (frag 10000:120@0+)
    makarov.homenet > user.homenet: icmp: (frag 10000:120@120+)
    makarov.homenet > user.homenet: icmp: echo request (frag 10000:120@240+)

    Здесь с 10000 – номер (ID) пакета, 120 – его длина, frag – обозначение фрагментации, @0 – смещение фрагмента пакета относительно начала пакета, а + - обозначение включенной фрагментации (флаг MR), а так же то, что есть еще фрагменты этого пакета.

    В Windump можно так же делать фильтры. Так ip[x]=y обозначает, что для x – смещение:длина значение должно быть y. После чего можно ввести команду tcpdump ‘ip[x] = y’ или сохранить в файле строку ip[x] = y, а потом запустить tcpdump –F /somefile. Как, например, опередить, что данный пакет пришел на завершение? Tcp[13] & 0xff = 1, где 13 – начало байта с флагами, 0xff – длина, а 1 значение. И поскольку Fin – самый младший бит байта, то значение байта должно быть равно 1, если установлен только этот флаг.

    Автор - makt_liCh

    Первоисточник - www.xakep.ru

  2. Будь в курсе!
    Реклама на VirusInfo

    Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

    Anti-Malware Telegram
     

Похожие темы

  1. Вирус который не дает покоя фаерволу (ICS)
    От kdsnice в разделе Помогите!
    Ответов: 16
    Последнее сообщение: 22.02.2009, 10:05
  2. В дополнение к теме про kido.ih
    От martynmartan в разделе Помогите!
    Ответов: 21
    Последнее сообщение: 18.02.2009, 00:19
  3. Дополнение к антивирусу - что посоветуете?
    От senyak в разделе Антивирусы
    Ответов: 46
    Последнее сообщение: 29.06.2008, 03:42

Свернуть/Развернуть Ваши права в разделе

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Page generated in 0.00868 seconds with 16 queries