IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [143]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [508]
    Видеорегистраторы [186]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [627]
    Измерительная техника, инструменты [437]
    Накопители данных [232]
    Нетбуки, Ноутбуки, Ультрабуки [689]
    Мультиварки, блендеры и не только... [162]
    Планшеты [764]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [360]
    Сети, сетевые технологии, оборудование... [273]
    Смартфоны [4959]
    Фотокамеры, объективы, искусство фотографии.. [541]
    Умный дом [50]
    Электронные книги [101]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3981]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1120]
    Smart TV, UltraHD, приставки, проекторы... [415]
    Smart Watch [268]
    Sound: наушники, плееры, усилители... [618]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 12
    Гостей: 12
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2015 » Май » 14 » Администрирование систем Linux. Перехват сетевого трафика
    12:39
    Администрирование систем Linux. Перехват сетевого трафика

    Администрирование систем Linux. Перехват сетевого трафика

    Оригинал: Network sniffing
    Автор: Paul Cobbaut
    Дата публикации: 12 марта 2015 г.
    Перевод: A. Панин
    Дата перевода: 1 апреля 2015 г.

    Глава 23. Перехват сетевого трафика

    Администратор сети должен уметь работать со сниффером, таким, как wireshark или tcpdump, для диагностирования проблем сети.

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

    23.1. Приложение wireshark

    23.1.1. Установка wireshark

    В данном примере приведена команда для установки приложения wireshark в дистрибутивах, использующих пакеты программного обеспечения с расширением .deb (включая Debian, Mint, Xubuntu и другие дистрибутивы).

     

    root@debian8:~# 
    Чтение списков пакетов Готово 
    Построение дерева зависимостей 
    Чтение информации о состоянии Готово
    ... (вывод сокращен)
    

     

    В дистрибутивах, использующих пакеты программного обеспечения с расширением .rpm, таких, как CentOS, RHEL и Fedora, для установки приложения wireshark может использоваться утилита yum.

     

    [root@centos7 ~]# 
    yum install wireshark
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    ... (вывод сокращен)
    

     

    23.1.2. Выбор сетевого интерфейса

    При запуске приложения wireshark в первый раз вам придется выбрать сетевой интерфейс. Вы увидите диалог, который выглядит аналогично приведенному на иллюстрации ниже.

    Выбор сетевого интерфейса

    Вероятна ситуация, при которой доступных сетевых интерфейсов попросту не окажется, ведь в некоторых дистрибутивах перехват сетевого трафика может осуществляться исключительно пользователем root. В этом случае вам придется запустить приложение wireshark от лица пользователя root с помощью команды sudo wireshark.

    Или же вы можете последовать общим рекомендациям и использовать утилиту tcpdump или какой-либо другой инструмент для перехвата трафика и записи данных в файл. Любые перехваченные данные могут быть проанализированы позднее с помощью приложения wireshark.

    23.1.3. Минимизация трафика

    В процессе перехвата сетевого трафика в течение очень коротких промежутков времени могут генерироваться тысячи пакетов. Очевидно, что такой объем данных затруднит анализ трафика. Попытайтесь выйти из этого положения, изолировав ваш сниффер в рамках сети. Предпочтительным вариантом является перехват трафика, проходящего через сетевой интерфейс изолированной виртуальной сети, находящейся под вашим полным контролем.

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

    И все же более важным инструментом для минимизации трафика являются фильтры, которые будут обсуждаться в следующем разделе.

    23.1.4. Перехват трафика, генерируемого утилитой ping

    Я запустил сниффер и захватил все пакеты, переданные по сети в результате исполнения трех команд ping (не имеет смысла выполнять эти команды от лица пользователя root):

     

    root@debian7:~# ping -c2 ns1.paul.local
    PING ns1.paul.local (10.104.33.30) 56(84) bytes of data.
    64 bytes from 10.104.33.30: icmp_req=1 ttl=64 time=0.010 ms
    64 bytes from 10.104.33.30: icmp_req=2 ttl=64 time=0.023 ms
    
    --- ns1.paul.local ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 0.010/0.016/0.023/0.007 ms
    root@debian7:~# ping -c3 linux-training.be
    PING linux-training.be (188.93.155.87) 56(84) bytes of data.
    64 bytes from antares.ginsys.net (188.93.155.87): icmp_req=1 ttl=56 time=15.6 ms
    64 bytes from antares.ginsys.net (188.93.155.87): icmp_req=2 ttl=56 time=17.8 ms
    64 bytes from antares.ginsys.net (188.93.155.87): icmp_req=3 ttl=56 time=14.7 ms
    
    --- linux-training.be ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 14.756/16.110/17.881/1.309 ms
    root@debian7:~# ping -c1 centos7.paul.local
    PING centos7.paul.local (10.104.33.31) 56(84) bytes of data.
    64 bytes from 10.104.33.31: icmp_req=1 ttl=64 time=0.590 ms
    
    --- centos7.paul.local ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.590/0.590/0.590/0.000 ms
    

     

    В общей сложности из сети было захвачено более чем 200 пакетов. Все станет гораздо очевиднее в том случае, если введете строку icmp в поле фильтра и нажмете кнопку "Применить" ("Apply").

    Перехват трафика, генерируемого утилитой ping

    23.1.5. Перехват трафика, генерируемого утилитой ping и клиентом dns

    Работая с той же сессией захвата данных, применим отличный фильтр. Мы хотим отслеживать трафик, относящийся как к протоколу dns, так и к протоколу icmp, поэтому нам придется ввести названия двух упомянутых протоколов в поле фильтра.

    Для захвата данных, относящихся к двум рассматриваемым протоколам, в поле фильтра должна быть введена строка "dns or icmp". В случае ввода строки "dns and icmp" не будет выведено информации о каких-либо пакетах, так как не существует пакетов, относящихся к обоим упомянутыми протоколам.

    Перехват трафика, генерируемого утилитой ping и клиентом dns

    При рассмотрении приведенной выше иллюстрации можно заметить, что пакеты 25 и 26 имеют исходные и целевые IP-адреса 10.104.33.30. Это объясняется тем, что клиент DNS работает на том же компьютере, что и сервер DNS.

    Аналогичная ситуация наблюдается и в случае пакетов 31 и 32, ведь с помощью утилиты ping осуществляется отправка пакетов рабочей системе, на которой запущена данная утилита.

    23.1.6. Определенный IP-адрес

    В данном случае осуществляется фильтрация пакетов, относящихся к протоколу DNS и содержащих определенный IP-адрес. В качестве фильтра используется строка "ip.addr==10.104.33.30 and dns". Директива and сообщает приложению о том, что следует выводить информацию о каждом пакете, соответствующем двум условиям.

    Определенный IP-адрес

    Пакет 93 содержит запрос DNS, направленный на получение записи типа A домена linux-training.be. Пакет 98 содержит ответ от сервера DNS. Как вы думаете, что происходило после отправки пакета 93 и до приема пакета 98? Попытайтесь ответить на этот вопрос перед чтением следующего раздела (при работе с различными системами всегда полезно пытаться предсказывать наступающие события и проверять корректность своих предсказаний).

    23.1.7. Фильтрация на основе фреймов

    Корректным термином, используемым для обозначения перехваченного пакета, является термин фрейм (из-за того, что мы осуществляем перехват пакетов на уровне 2 сетевой модели OSI). Таким образом, для вывода информации о пакетах с определенными номерами, следует использовать директиву frame.number в поле фильтра.

    Фильтрация на основе фреймов

    23.1.8. Исследование содержимого пакетов

    Средняя панель окна сниффера может быть раскрыта. При выборе строки в рамках данной панели вы можете увидеть соответствующие значения байт в поле нижней панели.

    На иллюстрации ниже показана средняя панель окна сниффера с выбранным адресом моего ноутбука.

    Средняя панель окна сниффера

    Учтите, что описанная выше техника отлично работает при перехвате трафика, передаваемого через один сетевой интерфейс. Если же вы перехватываете трафик, к примеру, с помощью команды tcpdump -i any, вы столкнетесь с методом перехвата пакетов "Linux cooked capture".

    Linux cooked capture

    23.1.9. Другие примеры фильтров

    Вы можете комбинировать два описания протоколов с помощью директивы логической операции or ("ИЛИ"), расположенной между ними. На иллюстрации ниже показан способ захвата исключительно пакетов, относящихся к протоколам ARP и BOOTP (или DHCP).

    Захват пакетов, относящихся к протоколам ARP и BOOTP

    А на следующей иллюстрации показан способ перехвата пакетов, относящихся к протоколу DNS и содержащих определенный IP-адрес.

    Перехват пакетов, относящихся к протоколу DNS и содержащих определенный IP-адрес

    23.2. Утилита tcpdump

    В случае работы с интерфейсом командной строки системы перехват пакетов может осуществляться с помощью утилиты tcpdump. Ниже приведены некоторые примеры ее использования.

    При использовании команды tcpdump host $ip будет выводиться информация обо всем трафике, относящимся к определенному узлу (в данном случае с IP-адресом 192.168.1.38).

     

    root@ubuntu910:~# tcpdump host 192.168.1.38
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
    

     

    Перехват трафика, относящегося исключительно к протоколу ssh (протокол TCP, порт 22), может осуществляться с помощью команды tcpdump tcp port $порт. Длина строк вывода урезана до 76 символов для более удобного чтения.

     

    root@deb503:~# tcpdump tcp port 22
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
    14:22:20.716313 IP deb503.local.37973 > rhel53.local.ssh: P 666050963:66605
    14:22:20.719936 IP rhel53.local.ssh > deb503.local.37973: P 1:49(48) ack 48
    14:22:20.720922 IP rhel53.local.ssh > deb503.local.37973: P 49:113(64) ack 
    14:22:20.721321 IP rhel53.local.ssh > deb503.local.37973: P 113:161(48) ack
    14:22:20.721820 IP deb503.local.37973 > rhel53.local.ssh: . ack 161 win 200
    14:22:20.722492 IP rhel53.local.ssh > deb503.local.37973: P 161:225(64) ack
    14:22:20.760602 IP deb503.local.37973 > rhel53.local.ssh: . ack 225 win 200
    14:22:23.108106 IP deb503.local.54424 > ubuntu910.local.ssh: P 467252637:46
    14:22:23.116804 IP ubuntu910.local.ssh > deb503.local.54424: P 1:81(80) ack
    14:22:23.116844 IP deb503.local.54424 > ubuntu910.local.ssh: . ack 81 win 2
    ^C
    10 packets captured
    10 packets received by filter
    0 packets dropped by kernel
    

     

    Та же операция, но с записью захваченных данных в файл, может осуществляться с помощью команды tcpdump -w $имя_файла.

     

    root@ubuntu910:~# tcpdump -w sshdump.tcpdump tcp port 22
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
    ^C
    17 packets captured
    17 packets received by filter
    0 packets dropped by kernel
    

     

    С помощью команды tcpdump -r $имя_файла может быть выведено содержимое файла, созданного в предыдущем примере.

     

    root@ubuntu910:~# tcpdump -r sshdump.tcpdump
    

     

    Множество других примеров использования рассматриваемой утилиты может быть найдено на странице руководства man tcpdump.

    23.3. Практическое задание: перехват сетевого трафика

     

    1. Установите приложение wireshark в вашу систему (работающую не в виртуальной машине).

     

    2. Используйте утилиту ping генерации трафика между вашим и каким-либо другим компьютером.

     

    3. Начните перехват сетевого трафика.

     

    4. С помощью фильтра осуществите вывод информации исключительно о тех пакетах, которые содержат ответы на запросы от утилиты ping.

     

    5. Теперь передайте утилите ping имя домена (такое, как www.linux-training.be) и попытайтесь перехватить пакеты с запросом и ответом DNS. Какой DNS-сервер был использован? Был ли использован протокол TCP или UDP для передачи запроса и ответа?

     

    6. Найдите закрытый вебсайт, имеющий форму запроса пароля. Попытайтесь войти на него, использовав имя пользователя 'paul' и пароль 'hunter2' в процессе работы сниффера. Теперь попытайтесь найти введенные имя пользователя и пароль в захваченных с помощью сниффера данных.

     

     

    23.4. Корректная процедура выполнения практического задания: перехват сетевого трафика

     

    1. Установите приложение wireshark в вашу систему (работающую не в виртуальной машине).

    В дистрибутивах Debain/Ubuntu: aptitude install wireshark

    В дистрибутивах Red Hat/Mandriva/Fedora: yum install wireshark

    2. Используйте утилиту ping генерации трафика между вашим и каким-либо другим компьютером.

     

    ping $ip_адрес

     

    3. Начните перехват сетевого трафика.

     

    (sudo) wireshark

     

    Выберите сетевой интерфейс (вероятно, eth0)

    4. С помощью фильтра осуществите вывод информации исключительно о тех пакетах, которые содержат ответы на запросы от утилиты ping.

    Введите 'icmp' (без кавычек) в поле фильтра и нажмите кнопку "Применить" ("Apply").

    5. Теперь передайте утилите ping имя домена (такое, как www.linux-training.be) и попытайтесь перехватить пакеты с запросом и ответом DNS. Какой DNS-сервер был использован? Был ли использован протокол TCP или UDP для передачи запроса и ответа?

    В первую очередь запустите сниффер.

    Введите 'dns' в поле фильтра и нажмите кнопку "Применить" ("Apply").

     

    root@ubuntu910:~# ping www.linux-training.be
    PING www.linux-training.be (88.151.243.8) 56(84) bytes of data.
    64 bytes from fosfor.openminds.be (88.151.243.8): icmp_seq=1 ttl=58 time=14.9 ms
    64 bytes from fosfor.openminds.be (88.151.243.8): icmp_seq=2 ttl=58 time=16.0 ms
    ^C
    --- www.linux-training.be ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1002ms
    rtt min/avg/max/mdev = 14.984/15.539/16.095/0.569 ms

     

    Окно приложения wireshark должно выглядеть аналогичным образом.

    Окно приложения wireshark

    На основе информация из окна приложения wireshark можно сделать вывод о том, что запрос DNS передавался с помощью пакета UDP, после чего несложно дать ответы на поставленные вопросы.

    6. Найдите закрытый вебсайт, имеющий форму запроса пароля. Попытайтесь войти на него, использовав имя пользователя 'paul' и пароль 'hunter2' в процессе работы сниффера. Теперь попытайтесь найти введенные имя пользователя и пароль в захваченных с помощью сниффера данных.

     

    http://rus-linux.net/MyLDP/BOOKS/LSA/ch23.html

    Категория: Linux и не только | Просмотров: 1055 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024