Главная » Пентест » Wireshark: Анализ трафикa в Linux и Windows

Wireshark: Анализ трафикa в Linux и Windows

Wireshark Линукс

Определяя правила, помните, пожалуйста, что выражение (ip. addr!=192.168.1.5) не означает, что ни одно из полей ip.addr не может содержать IP-адреса 192.168.1.5. На самом деле оно означает, что одно из полей ip.addr не должно содержать IP-адрес 192.168.1.5. Поэтому значение другого поля ip.addr может быть и равным 192.168.1.5. Словесная формулировка такова: «существует одно поле ip.addr, не равное 192.168.1.5» Правильно первое утверждение выражается 4epe3!(ip.addr == 192.168.1.5). Это частое заблуждение.

Помните также, что МАС-адреса действительно полезны, когда вы отслеживаете определенную машину в своей локальной сети, потому что IP машины может изменяться, если она использует DHCP, а вот MAC-адрес изменить сложнее.

Тот факт, что протокол FTP обычно использует порт номер 21, не означает, что ему нельзя брать порт с другим номером. Иными словами, не стоит слепо полагаться на номер порта, принимая трафик за TCP/IP.

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

Протокол TCP

TCP означает Transmission Control Protocol — протокол управления передачей. Главное свойство TCP — его надежность и гарантия доставки пакета. Если доставка пакета не подтверждена, он отправляет пакет заново. Программа TCP передает данные между компьютерами, используя сегменты (именуемые также пакетами TCP). TCP присваивает последовательный номер каждому переданному байту и ждет положительного подтверждения (оно же ACK) от стороны-получателя TCP.

Если в течение установленного времени ACK не получено, данные пересылаются заново, поскольку исходный пакет считается не доставленным. TCP-получатель использует номера последовательности для реорганизации сегментов, если они поступают не по порядку, и для устранения одинаковых сегментов.

Заголовок TCP содержит поля Source Port и Destination Port. Эти два поля, а также исходный IP-адрес и IP-адрес назначения объединяются для уникального обозначения каждого соединения TCP. Порты помогают каналам TCP/IP в объединенных сетью устройствах (ПК, роутерах и т.д.) распределять трафик по разным программам, исполняемым на одном устройстве.

Если сервис хочет, чтобы его считали надежным, то обычно он основывается на TCP, в ином случае он будет основан на IP. Но, как легко себе представить, за надежность надо платить, а это не всегда желательно.

О TCP/IP, TCP и IP

TCP/IP — наиболее широко используемый протокол для соединения компьютеров между собой, и он настолько тесно связан с Интернетом, что крайне сложно обсуждать TCP/IP, не касаясь Интернета, и наоборот. Каждое устройство, которое его применяет, имеет:

  • IP-адрес Этот адрес должен быть уникальным, по крайней мере, в своей локальной сети.
  • Сетевая маска Используется для разделения больших сетей IP на меньшие сети, относящиеся к текущей сети.
  • Один или более DNS-серверов Используется для перевода IP-адреса в запоминаемый человеком формат и наоборот.
  • Шлюз по умолчанию Это опционально, если вы хотите общаться с устройствами вне вашей локальной сети. Шлюз по умолчанию [Default Gateway] — это сетевое устройство, которому TCP/ IP отправляет пакет, когда он «не знает», куда еще его отправить.

Каждый сервис TCP слушает порт, являющийся уникальным на каждом компьютере. Компьютер, который поддерживает протокол HTTP, протокол, обслуживающий WWW, также именуется HTTP-сервером. Подобным же образом существуют FTP-серверы, DNS-серверы, и т.д. Именно две пары IP-адресов и номеров портов на обоих концах канала взаимодействия TCP/IP уникальным образом идентифицируют соединение между двумя компьютерами, которые используют TCP/IP.

Пакет TCP  можно использовать, чтобы установить соединение; передать данные; переслать подтверждения, анонсировать буфер, содержащий входящие данные, именуемый Window Size, и закрыть соединения. Как видно, в каждом сегменте пакета есть раздел заголовка и раздел данных.

З-этапный обмен данными TCP

TCP обеспечивает ориентированный на соединение надежный сервис по передаче байтов. Это полный дуплексный протокол, то есть каждое соединение TCP поддерживает пару потоков байтов; по одному в каждом направлении. «Ориентированный на соединение» означает, что два приложения, использующие TCP, прежде чем начать обмен данными, должны сначала установить между собой TCP-соединение.

Заголовок TCP включает поле 6-битных флагов, используемое для передачи контрольной информации между пирами TCP. Среди возможных флагов — SYN, FIN, RESET, PUSH, URG и ACK. Флаги SYN и ACK используются для трехэтапного обмена данными (квитирования, handshake) TCP при установке соединения, как вы вскоре увидите. Флаг RESET означает, что получатель хочет прервать соединение.

Квитирование TCP происходит так: клиент отправляет пакет TCP SYN на сервер, и его заголовок TCP содержит поле идентификационного номера, которое имеет условное значение в пакете SYN. Сервер отправляет назад пакет TCP (SYN, ACK), который включает идентификационный номер противоположного направления и подтверждение предыдущего номера.

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

И, наконец, чтобы действительно установить соединение TCP, клиент отправляет пакет TCP АСК, подтверждая идентификационный номер сервера. После трехэтапного обмена данными TCP устанавливается соединение, готовое отправлять и получать данные.

Трафик в данном случае был получен с помощью следующей команды:

$ wget http://www.spy-soft.net/

Спустя необходимое количество сетевого трафика DNS, ARP и ICMP начинается квитирование TCP (на рисунке вверху стр. 85). IP-адрес клиента 10.0.2.15, а IP-адрес назначения — 80.244.178.150. Довольно простой фильтр отображения (tcp &&!http) заставит Wireshark показать 63 из 85 пакетов. Три номера пакетов, используемые в обмене данными, являются последовательными, потому что на момент сбора данных хост не вел никакой другой сетевой активности, однако вряд ли это может считаться общим случаем.

Сканирование пингом

Эта часть будет изучать сетевой трафик Nmap при сканировании с помощью пинга.

dns tcp ip wireshark nmap
Часть сканирования пинга Nmap в LAN по данным Wireshark.

Этот вид сканирования в локальной сети выполняется с помощью протокола ARP. Хосты за её пределами сканируются с помощью протокола ICMP, и в этом случае трафик будет отличаться от представленного. В нижеприведенном примере команда Nmap сканирует 255 IP-адресов, от 10.67.93.1 до 10.67.93.255. Результаты показывают, что на момент выполнения только 10 хостов были включены, или, если точнее, только 10 хостов ответили на сканирование Nmap:

$ sudo nmap -sP 10.67.93.1-255
Starting Nmap 6.47 ( http://nmap.org ) at 2014-09-05 11:51 EEST Nmap scan report forxxxxx.yyyyy.zzzzz.gr (10.67.93.1)
Host is up (0.0030s latency).
MAC Address: 64:70:02:AD:E9:44 (Tp-link Technologies CO.)
Nmap scan report for srv-gym-ag-anarg.att.sch.gr (10.67.93.10) Host is up (0.0051s latency).
MAC Address: 00:0C:F1:E8:1D:6E (Intel)
Nmap scan report for 10.67.93.20 Host is up (0.0066s latency).
MAC Address: D0:27:88:1D:15:20 (Hon Hai Precision Ind. Co.Ltd) Nmap scan report for 10.67.93.21 Host is up (0.0053s latency).
MAC Address: D0:27:88:1D:D6:FB (Hon Hai Precision Ind. Co.Ltd) Nmap scan report for 10.67.93.22 Host is up (0.0080s latency).
MAC Address: 00:1 A:92:44:D7:67 (Asustek Computer)
Nmap scan report for 10.67.93.29 Host is up (0.057s latency).
MAC Address: 00:78:E2:47:49:E5 (Unknown)
Nmap scan report for 10.67.93.78 Host is up (0.0023s latency).
MAC Address: 00:80:48:24:6A:CC (Compex Incorporated)
Nmap scan report for 10.67.93.147 Host is up (0.028s latency).
MAC Addres: 00:14:38:64:50:35 (Hewlet-Packard)
Nmap scan report for  10.67.93.172
Host is up (0.016s latency).
MAC Addres: 00:50:27:00:e4:F0 (Genicom)
Nmap scan report for www.yyyyy.zzzzz.gr (10.67.93.11)
Host is up.
Nmap done: 255 ip adresses (10 hosts up) scanned in 1.25 Seconds

Цель пинга — просто выяснить, работает IР или нет, см на предыдущий рисунок. Для Nmap в сканировании пинга важны не настоящие данные полученных пакетов, а, грубо говоря, существование ответного пакета. Поскольку весь трафик относится к локальной сети, каждое сетевое устройство сообщает в ответ свой MAC-адрес, поэтому и в поле Source, и в поле Destination вы видите только MAC-адреса.

7 комментариев

  1. Аватар
    Интер

    За инструкцию Wireshark спасибо!
    Вопрос не по теме. Собираюсь переходить на Linux. Какой дистрибутив посоветуете? Что лучше Ubuntu или Debian ?

    • Аватар

      Debian – для профессионалов, а Ubuntu для новичков.

    • Аватар
      su

      Ой ладно, вам. Я знаю убунтушников, которые дадут фору любому debian’щику, и наоборот на форуме debian я видел достаточно новичков. Так, что не надо ля-ля. Новички везде есть.

    • Аватар
      Владимир

      С линухи начинай… да и мануалов по работе завались

  2. Аватар
    Wladimir

    Подскажите пожалуйста, а можно с его помощью отслеживать, сколько я принял и передал мб.

    • Аватар
      Monster Kill

      Трафик снифером отследить конечно можно, но намного легче использовать специальные программы для мониторинга трафика.

    • Аватар
      olala

      тебе поможет программа NetWorx

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *