Разделы сайта
Выбор редакции:
- Кис май эбс жж читать. Kiss my abs. Как желеобразное тельце стало красоткой. Важно ли для блогера хорошо писать
- Как лучше носить телефон во время бега Обзор спортивных чехлов для телефонов на руку
- Как восстановить или удалить файлы из облака Как удалить данные из облака
- Как перейти на другой тариф билайн
- Возникновение технической ошибки при размещении данных в еис Ошибка при размещении контракта в еис
- Восстановление RAW в NTFS или FAT32 на USB, SD, HDD без потери данных
- Скачать программу сервисы google play на андроид
- Видеоплееры для windows - выбираем лучший видео проигрыватель для компьютера
- Бесплатные программы для записи CD-DVD дисков на русском языке: Список лучших
- Узнаем как отформатировать флешку если она защищена от записи
Реклама
Установка и использование tcpdump. Фильтруй эфир! Проводим аудит сетевого трафика с помощью tcpdump Tcpdump как остановить через заданное время |
Поэтому решил создать свою шпаргалку, чтобы было... Ибо без tcpdump не один админ - неадмин Введение Очень часто для поиска проблем в работе сети используются анализаторы сетевого трафика . tcpdump является одним из представителей данного класса программ, она позволяет прослушать (отобразить/сохранить) и проанализировать работу сети на уровне передаваемых сетевых пакетов, фреймов и др. единиц передачи сетевого трафика. В зависимости от конфигурации сети, tcpdump может прослушивать не только пакеты, предназначенные данному MAC-адресу, но и широковещательные пакеты. Прослушивание перехват сетевых пакетов основан на "беспорядочном" (promiscuous) режиме работы сетевого адаптера. В зависимости от используемого сетевого оборудования для соединения компьютеров в сети Ethernet существуют следующие возможности прослушивания трафика :
Итак, утилита tcpdump входит в большинство дистрибутивов Unix и позволяет перехватывать и отображать/сохранять в файл сетевой трафик. Утилита использует библиотеку libpcap . Для Windows тоже существует порт . Для работы утилиты ее необходимо . Например, в Debian она устанавливается с помощью команды: Debian:~# apt-get install tcpdump Для работы утилиты необходимы (т.к. изменяются настройки сетевого интерфейса - переводится в "безпорядочный" режим). В общем случае формат команды tcpdump имеет следующий вид: Debian:~# tcpdump <опции> <фильтр> Опции утилиты tcpdump-i интерфейс Задает интерфейс, с которого необходимо анализировать трафик (без указания интерфейса - анализ "первого попавшегося"). Отключает преобразование IP в доменные имена. Если указано -nn, то запрещается преобразование номеров портов в название протокола. Наиболее часто используемые фильтрующие параметры команды tcpdump:dst хост Проверяет, совпадает ли адрес получателя IP-пакета с указанным значением. Возможно задавать как IP, подсеть в формате 10.0.0.1/24, так и имя хоста. src хост Проверяет, совпадает ли адрес отправителя IP пакета с указанным значением. Возможно задавать как IP, подсеть в формате 10.0.0.1/24, так и имя хоста. host хост Проверяет, совпадает ли адрес отправителя или получателя с заданным значением. Возможно задавать как IP, подсеть в формате 10.0.0.1/24, так и имя хоста. net имя_сети Проверяется, находится ли адрес отправителя/получателя в заданной сети. Возможно указание сети в формате CIDR (например 10.0.0.1/22), либо указание имени сети, заданной в . ip | arp | rarp | tcp | udp | icmp [хост] Проверяет, принадлежит ли пакет одному из указанных протоколов и при указании адреса хоста проверяет, совпадает ли адрес отправителя\получателя с заданным. Возможно задавать как IP, подсеть в формате 10.0.0.1/24, так и имя хоста. dst port номер_порта Проверяется, принадлежит ли пакет протоколу TCP/UDP и равен ли порт назначения заданному. Можно указать номер порта, либо имя, заданное в файле /etc/services. src port номер_порта Проверяется, принадлежит ли пакет протоколу TCP/UDP и равен ли порт источника заданному. Можно указать номер порта, либо имя, заданное в файле /etc/services. port номер_порта Проверяется, принадлежит ли пакет протоколу TCP/UDP и равен ли порт назначения или источника заданному. Можно указать номер порта, либо имя, заданное в файле /etc/services. ip broadcast Проверяется, является ли IP пакет широковещательным. ether { src | dst | host } MAC_адрес Проверяется, принадлежит ли сетевой пакет источнику, назначению, источнику или назначению имеющему заданный MAC_адрес. ether broadcast Проверяется, является ли ARP-пакет широковещательным. Примеры использования команды tcpdumpАнализ трафика на сетевом уровне (ARP, ICMP) с помощью tcpdumpПредположим, у нас имеется 2 хоста. Хост 1 с интерфейсом eth0 и следующими параметрами: Host1:~# ip addr show dev eth0
5: eth0: А так же хост2 с интерфейсом eth1 Host2:~# ip addr show dev eth1
3: eth1: Предположим, что до текущего момента сетевого обмена данными между хостами не происходило и если на хосте 2 запустить команду ip neigh show, то будет видно что в ARP-таблице нет записей. Проведем маленький эксперимент. Запустим на одном из виртуальных интерфейсов host1 утилиту tcpdump: Host1:~# tcpdump -ne -i eth0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes Host1:~# ping -c 1 192.168.56.33 PING 192.168.56.33 (192.168.56.33) 56(84) bytes of data. 64 bytes from 192.168.56.33: icmp_req=1 ttl=64 time=1.06 ms --- 192.168.56.33 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 1.067/1.067/1.067/0.000 ms После этого в ARP-таблице системы host1 появилась запись об IP-адресе машины host2: Host1:~# ip neigh show dev eth0 192.168.56.33 lladdr 01:00:27:77:e5:00 HOST2 На виртуальной консоли tcpdump нам отобразил следующую информацию: Host1:~# tcpdump -ne -i eth0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 12:16:29.465780 0a:00:27:00:00:00 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.56.33 tell 192.168.56.1, length 28 12:16:29.466786 01:00:27:77:e5:00 > 0a:00:27:00:00:00, ethertype ARP (0x0806), length 42: Reply 192.168.56.33 is-at 01:00:27:77:e5:00, length 28 12:16:29.466815 0a:00:27:00:00:00 > 01:00:27:77:e5:00, ethertype IPv4 (0x0800), length 98: 192.168.56.1 > 192.168.56.33: ICMP echo request, id 5284, seq 1, length 64 12:16:29.467934 01:00:27:77:e5:00 > 0a:00:27:00:00:00, ethertype IPv4 (0x0800), length 98: 192.168.56.33 > 192.168.56.1: ICMP echo reply, id 5284, seq 1, length 64 ^C 4 packets captured 4 packets received by filter 0 packets dropped by kernel Каждая запись о сетевом пакете в таком формате содержит время перехвата пакета, MAC-адреса отправителя и получателя, тип протокола, длину пакета и сведения о содержимом пакета. Первая запись описывает широковещательный ARP-запрос с MAC-адреса интерфейса eth0 системы host1 ("У кого адрес 192.168.56.33, это говорит 192.168.56.1 "). Вторая запись - ответ с MAC-адреса машины host2 на MAC-адрес системы host1 ("192.168.56.33 имеет MAC-адрес 01:00:27:77:e5:00 "). Третья и четвертая записи (ICMP-запрос и ICMP-ответ ) являются результатом работы команды ping на системе host1. Далее работа tcpdump была прервана . Перед завершением работы tcpdump печатает статистику работы: количество перехваченных, полученных фильтром и отброшенных ядром пакетов Таким образом, система host1 для того, чтобы отправить стандартный эхо-запрос машине host2, предварительно по протоколу ARP получила MAC-адреса машины host2 и внесла его с привязкой к IP-адресу в свою ARP-таблицу. Анализ трафика на транспортном уровне (TCP, UDP) с помощью tcpdumpПредположим на системе host2 установлен некий WEB-сервер. Попробуем на машине host1 открыть страницу с этого web-сервера с помощью консольного браузера lynx: Host1:~# lynx 192.168.56.33 На другой консоли предварительно запустим tcpdump с фильтрующими параметрами: Host1:~# tcpdump -n -i eth0 host 192.168.56.33 and port 80 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 15:44:37.837393 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags [S], seq 1209026235, win 5840, options , length 0 15:44:37.838118 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags , seq 370041518, ack 1209026236, win 5792, options , length 0 15:44:37.838157 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags [.], ack 1, win 46, options , length 0 15:44:37.839254 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags , seq 1:222, ack 1, win 46, options , length 221 15:44:37.839921 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags [.], ack 222, win 1716, options , length 0 15:44:37.848118 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags , seq 1:446, ack 222, win 1716, options , length 445 15:44:37.848156 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags [.], ack 446, win 54, options , length 0 15:44:37.849738 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags , seq 446, ack 222, win 1716, options , length 0 15:44:37.850366 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags , seq 222, ack 447, win 54, options , length 0 15:44:37.851267 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags [.], ack 223, win 1716, options , length 0 … В данном примере клиент (192.168.56.1) c TCP-порта 41533 устанавливает соединение с сервером (192.168.56.33), слушающим на порту 80, делает запрос, получает необходимые данные и соединение завершается. Заголовок TCP-сегмента, помимо номеров портов получателя и отправителя содержит ряд параметров:
Процесс установления двунаправленного соединения по протоколу TCP отражают первые три записи tcpdump:
После этого соединение считается установленным . В следующей паре записей клиент передает в секции данных сегмента серверу запрос протокола прикладного уровня (221 байт) и получает от сервера подтверждение его получения: 15:44:37.839254 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags , seq 1:222, ack 1, win 46, options , length 221 15:44:37.839921 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags [.], ack 222, win 1716, options , length 0 При этом флаг PSH (P) используется для оповещения отправляющей стороны о том, что принимающая готова принимать данные. Далее сервер отправляет данные клиенту (445 байт) и получает от него подтверждение получения: 15:44:37.848118 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags , seq 1:446, ack 222, win 1716, options , length 445 15:44:37.848156 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags [.], ack 446, win 54, options , length 0 Затем по инициативе сервера соединение завершается. Сервер шлет пакет с установленным флагом FIN: 15:44:37.849738 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags , seq 446, ack 222, win 1716, options , length 0 Клиент в ответ также отправляет пакет с установленным флагом FIN, данный пакет одновременно является подтверждением получения запроса на завершение соединения от сервера: 15:44:37.850366 IP 192.168.56.1.41533 > 192.168.56.33.80: Flags , seq 222, ack 447, win 54, options , length 0 Серверу остается лишь подтвердить получение FIN-сегмента от клиента: 15:44:37.851267 IP 192.168.56.33.80 > 192.168.56.1.41533: Flags [.], ack 223, win 1716, options , length 0 Реакция tcpdump на попытку подключения к закрытому порту 23/tcp:21:56:14.381091 IP 192.168.56.1.54040 > 192.168.56.33.23: Flags [S], seq 2956835311, win 5840, options , length 0 21:56:14.381688 IP 192.168.56.33.23 > 192.168.56.1.54040: Flags , seq 0, ack 2956835312, win 0, length 0В данном примере с системы 192.168.56.1 делается попытка подключится к несуществующему TCP-сервису на узле 192.168.56.33. Удаленная система реагирует отправкой сегмента с установленным флагом RST (сброса соединения). Реакция tcpdump на отправку UDP-датаграммы на закрытый порт 53/udp: 21:55:16.925906 IP 192.168.56.1.41979 > 192.168.56.33.53: 6561+ A? www.tut.by. (28) 21:55:16.926615 IP 192.168.56.33 > 192.168.56.1: ICMP 192.168.56.33 udp port 53 unreachable, length 64 В данном примере сделана попытка отправить UDP-датаграмму на несуществующий порт удаленной системы. Протокол UDP обычно реагирует отправкой ICMP-сообщения исходному узлу о недостижимости порта. Другие примеры использования команды tcpdump:# tcpdump -n -i ppp0 ether src 11:20:b3:d8:d8:2cВывод сетевой статистики с интерфейса ppp0 (-i ppp0) без преобразования IP в DNS (-n) тех фреймов, у которых MAC-адресом источника равен 11:20:b3:d8:d8:2c. # tcpdump -n -e -i vlan0 ether broadcast Вывод широковещательного трафика с интерфейса vlan0. # tcpdump -n -i eth0 src 192.168.66.1 Фильтруются сетевые пакеты, в заголовке которых в поле источник указан IP-адрес192.168.66.1. # tcpdump -n -i eth0 host 192.168.66.1 Фильтруются пакеты, в которых данный IP-адрес указан как источник или как получатель пакета. # tcpdump -n -i eth0 src net 10.0.0.0 mask 255.0.0.0 Фильтруются пакеты, в которых источником указаны узлы сети 10.0.0.0/8. # tcpdump -n -i eth0 icmp Вывод только ICMP-пакетов с интерфейса eth0. На этом, пожалуй, закончу текущую статью. По мере появления новых примеров буду дополнять статью. Надеюсь, что материал будет полезен не только мне В статье были использованы примеры и некоторые материалы лекций intuit . С Уважением, Mc.Sim! Dec 19, 2011 By Henry Van Styn Захват пакетов - один из наиболее мощных способов анализа сетевых процессов. Вы можете многое узнать о том, что происходит в сети с помощью перехвата и исследования сырых данных, проходящих по сетевым соединениям. Современные утилиты анализа трафика позволяют захватить, интерпретировать и описать потоки данных в человеко-читаемом стиле. tcpdump - важнейший инструмент прослушивания трафика, или снифинга, он предоставляет множество возможностей анализа и даже может экспортировать интерпретированные поля пакетов в другие программы. Если вы думаете, что утилиты, подобные tcpdump, утрачивают свое значение с появлением графических инструментов типа Wireshark, подумайте еще раз. Wireshark - отличное приложение, однако вовсе не универсальный инструмент абсолютно для всех ситуаций. В качестве универсального легковесного решения для различных применений (как например юниксовые инструменты cat, less и hexdump) tcpdump смотрится намного круче. И наиболее впечатляющая его особенность, это удобство использования. В качестве стиля поведения он следует приближению к концепции "команды в одну строку" для получения быстрых одноходовых ответов. Кроме того его можно применять в рамках ssh-сессии без нужды использования графики. Благодаря поддержке соглашений синтаксиса командной строки (например, выдача выходного потока данных на стандартный вывод, который можно перенаправить) tcpdump может быть использован во всех типах конвейеров для построения интересных и полезных утилит. В настоящей статье я рассмотрю некоторые базовые принципы использования tcpdump и основы его синтаксиса. Основы Прежде, чем вы станете мастером использования tcpdump, следует понять некие фундаментальную идеи. Во-первых, захват пакетов есть процесс пассивный, он никак не изменяет трафик и ничего не транслирует в сеть от себя. Во-вторых, вы можете захватить только такие пакеты, которые получает ваша система. Если какие-то два хоста обмениваются пакетами напрямую и этот трафик минует ваш компьютер, вы ничего не увидите, независимо от инструмента наблюдения. В-третьих, вы можете захватывать только те пакеты, которые адресованы вашей системе, если сетевой интерфейс не переведен в беспорядочный режим. Поскольку предполагается, что вы интересуетесь бОльшим, чем только пакеты для вашей системы, tcpdump переведет первый интерфейс в системе (если прямо не указан другой) в беспорядочный режим автоматически. Эта операция требует привилегий суперпользователя. Анатомия команд tcpdump Команда tcpdump состоит из двух частей: опций и выражения для фильтра (Figure 1). Figure 1. Example tcpdump Command Выражение для фильтра определяет, какие пакеты захватывать, а опции - какие из них показывать в выводе, также опции отвечают за поведение утилиты. Опции Опции tcpdump следуют стандартным соглашениям командной строки, поэтому формат опций - флаг-значение. Некоторые флаги не имеют значения параметра, потому что сами являются переключателями. Например, за -i следует имя интерфейса, а -n выключает разрешение имен через DNS. Страница руководства man описывает множество опций, но есть некоторое множество их, без которых не обойтись: I interface: интерфейс, на котором tcpdump будет прослушивать трафик; V, -vv, -vvv: многословность вывода; Q: тихий режим; E: печатать заголовки кадров канального уровня (Ethernet); N: разрешать доменные имена хостов; T: не печатать временнЫе метки; N: не разрешать доменные имена хостов; S0 (or -s 0): максимальный захват, пакеты захватываются целиком; в последних версиях tcpdump это поведение по умолчанию. Ни одна опция не является обязательной. Определяемые пользователем значения только изменяют поведение программы по умолчанию, в котором предусмотрен захват на первом интерфейсе и вывод информации о пакетах в одну строку. Выражения для фильтра
Синтаксис пакетного фильтра мощный и прозрачный. В начале он содержит ключевые слова, называемые "примитивы", которые представляют собой различные классификаторы для пакетов, это могут быть протокол, адрес, порт или направление. Они могут быть соединены между собой в цепочки с помощью операторов и/или, сгруппированы и объединены правилами наследования, отсортированы с помощью отрицания. Благодаря говорящим именам критериев, выражения для фильтров обычно выглядят как "самообъясняющие" свою суть конструкции, из-за этого их довольно легко конструировать и понимать. Полностью синтаксис описан в man-странице pcap-filter, здесь же представлены некоторые примеры: ARP - простой протокол, он используется для разрешения IP-адресов в MAC-адреса сетевых карт. Как можно видеть выше, tcpdump описывает эти пакеты в довольно-таки примитивной манере. Пакеты DNS, с другой стороны, будут описаны несколько по-другому:
Поначалу это может показаться недостаточно ясным, но по мере изучения того, как работают протоколы различных уровней, наполнится смыслом. DNS намного более сложный протокол, чем ARP, но кроме этого он работает на более высоком уровне. Это означает, что пакеты нижележащих протоколов также отображаются в выводе. В отличие от ARP, который не маршрутизируется между различными физическими сегментами сети, DNS это протокол для всего Интернета. Для маршрутизации этих пакетов используется уровень IP, для транспорта задействован UDP. Это делает DNS протоколом пятого уровня (IP - третий уровень, UDP - четвертый). Информация уровней UDP/IP, содержащая адрес и порт источника, отображается в левой стороне строки, специфическая DNS-информация - в правой. Несмотря на то, что синтаксис довольно сжатый, он достаточен для определения базовых элементов DNS. Первый пакет есть запрос адреса для linuxjournal.com, второй пакет - это ответ, дающий адрес 76.74.252.198. Это типичная последовательность для простых DNS-запросов. Просмотрите секцию "OUTPUT FORMAT" справки man для tcpdump для полного описания всех протокол-зависимых форматов вывода. Пакеты некоторых протоколов видны в выводе лучше, другие хуже, но важная информация обычно находится легко. Захват вывода в файл
При записи в файл tcpdump использует другой формат, чем при выводе на экран. Это так называемый сырой вывод, в нем не производится первичный анализ пакета. Эти файлы можно затем использовать в сторонних программах типа Wireshark, потому что формат записей в файл соответствует универсальному формату "pcap" (на ввод tcpdump такой файл можно подать с помощью опции -r). Эта возможность позволяет нам захватывать пакеты на одной машине, а анализировать на другой. Например, у вас на ноутбуке есть Wireshark. Вам не потребуется его подключать к анализируемой сети, чтобы просканировать захваченный ранее файл. Анализ протоколов на основе TCP
TCP прозрачно для пользователя обрабатывает все низкоуровневые детали, необходимые для сеансов связи в рамках сессионных протоколов. Здесь происходит инкапсуляция данных, ориентированных на поток, в пакеты (сегменты), которые уже могут быть посланы по сети. Все такие подробности скрыты ниже уровня приложений. Поэтому для захвата пакетов протоколов, ориентированных на соединения, требуются дополнительные шаги. Поскольку каждый сегмент TCP есть кусочек данных уровня приложения, информация о нем не может быть использована напрямую. Чтобы это имело бы смысл, нужно полностью восстанавливать TCP-сессию (поток) из последовательности отдельных пакетов. Этой возможности tcpdump не имеет. Для анализа сессионных протоколов можно использовать то, что я назвал "трюк со строками". Трюк со строками
TCP сегмены обычно идут в хронологическом порядке; Соединив все вместе, получим инструмент для захвата данных HTTP-сессий. Кроме того, вы должны понимать, что в выводе может содержаться некоторое количество мусора. Лишнее можно отрезать с помощью опции утилиты strings, которая ограничивает длину вывода строки (смотри man strings). Этот трюк довольно хорошо работает для любых протоколов, основанных на тексте. Анализ HTTP и SMTP
Например, вам вздумалось проверить доступность всех сайтов, в имени которых есть "davepc", в реальном времени. Поможет такая команда, запущенная на файерволе (подразумевается, что внутренний интерфейс eth1): Это только два простых примера для иллюстрации возможностей. Вы же можете пойти настолько далеко, что, например, напишете скрипт на Perl для более глубокого анализа полученных строк. Таким образом, настоящая мощь tcpdump проявляется в тех случаях, когда вы хотите быстро получить ответы на некоторые вопросы без особых усилий. Особенно это важно при отладке сетевых приложений. Отладка маршрутизации и соединений VPN
Возьмем стандартную схему соединения двух сетей через VPN-соединение. Сети 10.0.50.0/24 и 192.168.5.0/24 (Figure 2). Figure 2. Example VPN Topology Если это работает правильно, хосты из разных сетей должны пинговать друг друга. Если же ответы на пинги не приходят (в данном случае предположим, что они не приходят от D к хосту А), мы можем использовать tcpdump для обнаружения, где чего теряется. Если пакеты запроса идут на хост С (удаленный шлюз), но не на D, это показывает, что само соединение VPN работает, но имеются проблемы маршрутизации. Если хост D получает запросы, но не оправляет ответы, это может означать, что протокол ICMP заблокирован. Если же ответы отправляются, но не доходят до С, возможно на D неправильно настроен шлюз по умолчанию.
ПОЧЕМУ TCPDUMP? Tcpdump — главный инструмент сетевого анализа для специалистов по информационной безопасности. Для тех, кто хочет получить полное представление о TCP / IP обязательно нужно обладать достаточным пониманием этого важного приложения. Многие предпочитают использовать инструменты более высокого уровня, такие как Wireshark, но я считаю это ошибкой. Когда используешь инструмент, который отображает сетевой трафик более естественным (простым) способом, сложность анализа взваливается непосредственно на человека, а не на приложение. Этот подход развивает понимание набора TCP / IP, именно поэтому я настоятельно рекомендую использовать tcpdump вместо других инструментов, когда это возможно. 15:31:34.079416 IP (tos 0x0, ttl 64, id 20244, offset 0, flags , proto: TCP (6), length: 60) source.35970 > dest.80: S, cksum 0x0ac1 (correct), 2647022145:2647022145(0) win 5840 0x0000: 4500 003c 4f14 4006 7417 0afb 0257 E.. 0x0010: 4815 222a 8c82 0050 9dc6 5a41 0000 0000 H."*...P..ZA.... 0x0020: a002 16d0 0ac1 0000 0204 05b4 0402 080a ................ 0x0030: 14b4 1555 0000 0000 0103 0302 ОСНОВЫ Ниже приведены несколько параметров, которые можно использовать при настройке tcpdump. Их легко забыть и / или перепутать с другими типами фильтров, например Wireshark, поэтому эта страница может служить для вас справочным материалом. Вот основные из них, которые я сам люблю хранить в памяти, в зависимости от того, что я смотрю. ОПЦИИ
ВЫРАЖЕНИЯ В tcpdump выражения позволяют вам урезать различные типы трафика и найти именно то, что вы ищете. Освоение выражений и умение объединить их творчески — вот что делает по-настоящему мощным tcpdump. Существует три основных типа выражений: type, dir и proto. Типы опций: хост, сеть и порт. Директории позволяют вам выполнять src, dst и их комбинации. Протокол позволяет вам определять: tcp, udp, icmp, ah и многие другие. ПРИМЕРЫ Итак, теперь, когда мы увидели, какие у нас есть варианты, давайте посмотрим на некоторые реальные примеры, которые мы, вероятно, увидим в нашей повседневной работе. ОСНОВНОЕ СООБЩЕНИЕ Просто посмотрите, что происходит, посмотрев на все интерфейсы. # tcpdump -i any КОНКРЕТНЫЙ ИНТЕРФЕЙС Основное представление о том, что происходит на конкретном интерфейсе. # tcpdump -i eth0 ПРЕДСТАВЛЕНИЕ НЕОБРАБОТАНОГО ВЫВОДА Подробный вывод без разрешения имен хостов или номеров портов, абсолютных порядковых номеров и удобочитаемых временных меток. # tcpdump -ttttnnvvS НАЙДИТЕ ТРАФИК ПО IP Один из самых распространенных запросов, это покажет вам трафик из 1.2.3.4, будь то источник или место назначения. # tcpdump host 1.2.3.4 ПОСМОТРЕТЬ БОЛЬШЕ ИНФОРМАЦИИ О ПАКЕТЕ С ВЫВОДОМ НА ШЕСТНАДЦАТЕРИЧНУЮ СИСТЕМУ Шестнадцатеричный вывод полезен, когда вы хотите увидеть содержимое рассматриваемых пакетов, и его часто лучше всего использовать, когда вы изолируете несколько кандидатов для более тщательного изучения. # tcpdump -nnvXSs 0 -c1 icmp tcpdump: listening on eth0, link-type EN10MB (Ethernet), 23:11:10.370321 IP (tos 0x20, ttl 48, id 34859, offset 0, flags , length: 84) 69.254.213.43 > 72.21.34.42: icmp 64: echo request seq 0 0x0000: 4520 0054 882b 0000 3001 7cf5 45fe d52b E..T.+..0.|.E..+ 0x0010: 4815 222a 0800 3530 272a 0000 25ff d744 H."..50"..%..D 0x0020: ae5e 0500 0809 0a0b 0c0d 0e0f 1011 1213 .^.............. 0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............!"# 0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&"()*+,-./0123 0x0050: 3435 3637 4567 1 packets captured 1 packets received by filter 0 packets dropped by kernel ФИЛЬТРАЦИЯ ПО ИСТОЧНИКАМ И НАЗНАЧЕНИЮ Выделить трафик на основе источника или назначения очень просто, используя src и dst. # tcpdump src 2.3.4.5 tcpdump dst 3.4.5.6 ПОИСКОВЫЕ ПАКЕТЫ ПО СЕТИ Чтобы найти пакеты, идущие в или из определенной сети, используйте опцию net. Вы можете комбинировать это с опциями src или dst. # tcpdump net 1.2.3.0/24 ПОКАЗАТЬ ТРАФИК СВЯЗАНЫЙ СО СПЕЦИАЛЬНЫМ ПОРТОМ Вы можете найти определенный порт трафика, используя опцию port, за которой следует номер порта. # tcpdump port 3389 tcpdump src port 1025 ПОКАЗАТЬ ТРАФИК ОДНОГО ПРОТОКОЛА Если вы ищете определенный тип трафика, вы можете использовать tcp, udp, icmp и многие другие. # tcpdump icmp ПОКАЗАТЬ ТОЛЬКО ТРАФИК IP6 Вы также можете найти весь трафик IP6, используя опцию протокола. НАЙДИТЕ ТРАФИК С ИСПОЛЬЗОВАНИЕМ ПОРТОВЫХ ДИАПАЗОНОВ Вы также можете использовать диапазон портов, чтобы найти трафик. # tcpdump portrange 21-23 НАЙДИТЕ ТРАФИК НА ОСНОВЕ РАЗМЕРА ПАКЕТА Если вы ищете пакеты определенного размера, вы можете использовать эти параметры. Вы можете использовать маленький, большой или их соответствующие символы, которые вы ожидаете от математики. # tcpdump less 32 tcpdump greater 64 tcpdump <= 128 ПИСЬМЕННЫЕ ЗАПИСИ В ФАЙЛ Часто полезно сохранять результат пакетов в файл для анализа в будущем. Эти файлы известны как файлы PCAP (PEE-cap), и их можно обрабатывать сотнями различных приложений, включая сетевые анализаторы, системы обнаружения вторжений и, конечно же, самим tcpdump. Здесь мы пишем файл с именем capture_file, используя ключ -w. # tcpdump port 80 -w capture_file ЧТЕНИЕ ФАЙЛОВ PCAP Вы можете читать файлы PCAP с помощью ключа -r. Обратите внимание, что вы можете использовать все регулярные команды в tcpdump при чтении в файле; вы ограничены только тем фактом, что вы не можете захватывать и обрабатывать то, чего не существует в файле. # tcpdump -r capture_file РАСШИРЕННЫЙ Теперь, когда мы увидели, что мы можем сделать с основами с помощью некоторых примеров, давайте рассмотрим некоторые более сложные вещи. ЭТО ВСЕ О КОМБИНАЦИЯХ Делать эти различные вещи индивидуальными – мощная способность, но настоящая магия tcpdump исходит из способности сочетать варианты креативными способами, чтобы изолировать именно то, что вы ищете. Есть три способа сделать комбинации, и если вы вообще изучали программирование, они вам будут очень знакомы. AND
OR
EXCEPT
Вот несколько примеров комбинированных команд. ИЗ СПЕЦИФИЧЕСКОГО IP И НАЗНАЧАЕТСЯ ДЛЯ ОПРЕДЕЛЕННОГО ПОРТА Давайте найдем весь трафик с 10.5.2.3 к любому хосту на порте 3389. Tcpdump -nnvvS src 10.5.2.3 and dst port 3389 ОТ ОДНОЙ СЕТИ К ДРУГОЙ Давайте посмотрим на весь трафик, идущий от 192.168.x.x, и двигающийся к сетям 10.x или 172.16.x.x, и мы покажем шестнадцатиричный вывод без имени хоста и один уровень дополнительной детализации. Tcpdump -nvX src net 192.168.0.0/16 and dst net 10.0.0.0/8 or172.16.0.0/16 НЕ ICMP ТРАФИК, ПЕРЕХОДЯЩИЙ В СПЕЦИФИЧЕСКИЙ IP Это покажет нам весь трафик, идущий к 192.168.0.2, который не является ICMP. Tcpdump dst 192.168.0.2 and src net and not icmp ТРАФИК ОТ ХОСТА, КОТОРЫЙ НЕ В КОНКРЕТНОМ ПОРТУ Это покажет нам весь трафик от хоста, который не является трафиком SSH (если предположить использование порта по умолчанию). Tcpdump -vv src mars and not dst port 22 Как вы можете видеть, вы можете создавать запросы, чтобы найти практически все, что вам нужно. Ключ должен сначала определить именно то, что вы ищете, а затем построить синтаксис, чтобы изолировать определенный тип трафика. Сложная группировка и специальные символы Также имейте в виду, что при создании сложных запросов вам, возможно, придется группировать свои параметры, используя одинарные кавычки. Одиночные кавычки используются для того, чтобы указать tcpdump, что нужно игнорировать некоторые специальные символы — в этом случае то, что в скобках «()». Этот же метод можна использоваться для группировки с использованием других выражений, таких как хост, порт, сеть и т.д. Посмотрите на приведенную ниже команду. # Traffic that’s from 10.0.2.4 AND destined for ports 3389 or 22 (неверно) tcpdump src 10.0.2.4 and (dst port 3389 or 22) Если вы попытались выполнить эту очень полезную команду в другом случае, вы получите ошибку из-за скобок. Вы можете исправить это, выйдя из скобок (поставив перед каждой из них \) или поставив всю команду в одинарные кавычки: # Traffic that’s from 10.0.2.4 AND destined for ports 3389 or 22 (correct) # tcpdump "src 10.0.2.4 and (dst port 3389 or 22)" Изолирование специфических TCP-флагов Вы также можете захватывать трафик на основе определенных флагов (-ов) TCP. [ПРИМЕЧАНИЕ: Фильтры ниже находят эти различные пакеты, потому что tcp замечает смещение 13 в заголовке TCP, число представляет местоположение в байте, а! = 0 означает, что данный флаг установлен в 1, т.е. он включен. ] Показать все URGENT (URG) пакеты … # tcpdump "tcp & 32!=0" Показать все ACKNOWLEDGE пакеты (ACK) … # tcpdump "tcp & 16!=0" Показать все PUSH пакеты (PSH) … # tcpdump "tcp & 8!=0" Показать все RESET пакеты (RST) … # tcpdump "tcp & 4!=0" Показать все SYNCHRONIZE пакеты (SYN) … # tcpdump "tcp & 2!=0" Показать все FINISH (FIN) пакеты … # tcpdump "tcp & 1!=0" Показать все SYNCHRONIZE / ACKNOWLEDGE пакеты (SYNACK) … # tcpdump "tcp=18" [Примечание: только флаг PSH, RST, SYN и FIN отображаются в выводе поля tcpdump. Отображаются URG и ACK, но они показаны в другом месте на выходе, а не в поле flags. ] Однако, как и в случае с самыми мощными инструментами, существует множество способов сделать то, что нужно. В следующем примере показан другой способ захвата пакетов со специфическими наборами TCP-флагов. # tcpdump "tcp == tcp-syn" Снять флаги RST с помощью параметра tcpflags … # tcpdump "tcp == tcp-rst" Снять флаги FIN с помощью параметра tcpflags… # tcpdump "tcp == tcp-fin" [Примечание: тот же метод может быть использован и для других флагов; они были опущены в интересах экономии места. ] Определение заслуживающего внимания трафика Наконец, есть несколько быстрых рецептов, которые вы захотите запомнить, чтобы поймать специфический и специализированный трафик, например, неправильные / вероятно-вредоносные пакеты. ПАКЕТЫ С ОБЫЧНЫМИ КОМПЛЕКТАМИ RST И SYN (ЭТОГО НЕ ДОЛЖНО БЫТЬ) # tcpdump "tcp = 6" НАЙТИ ОТКРЫТЫЙ ТЕКСТ HTTP И ПОЛУЧИТЬ ЗАПРОС # tcpdump "tcp = 0x47455420" НАЙДИТЕ SSH-СОЕДИНЕНИЯ НА ЛЮБОЙ ПОРТ (ЧЕРЕЗ БАННЕР) # tcpdump "tcp[(tcp>>2):4] = 0x5353482D" ПАКЕТЫ С TTL МЕНЬШЕ 10 (КАК ПРАВИЛО ПОКАЗЫВАЕТ ПРОБЛЕМУ ИЛИ ИСПОЛЬЗУЕТ TRACEROUTE) # tcpdump "ip < 10" ПАКЕТЫ С УСТАНОВКОЙ EVIL BIT # tcpdump "ip & 128 != 0" Заключение tcpdump — это ценный инструмент для всех, кто хочет вступить в сетевую или информационную безопасность. Как проходит обучение?
А еще поможем Вам: Утилита tcpdump - это очень мощный и популярный инструмент для перехвата и анализа сетевых пакетов. Она позволяет просматривать все входящие и исходящие из определенного интерфейса пакеты и работает в командной строке. Конечно, вы могли бы пользоваться Wirshark для анализа сетевых пакетов, это графическая утилита, но иногда бывают ситуации когда нужно работать только в терминале. Tcpdump ничем не хуже Wireshark, и имеет все необходимые возможности для анализа пакетов, к тому же вы можете сохранить все перехваченные пакеты в файл, чтобы анализировать их потом с помощью того же самого Wireshark. В этой статье мы рассмотрим как пользоваться tcpdump для перехвата сетевых пакетов. Во многих дистрибутивах команда tcpdump поставляется по умолчанию, но если в вашем дистрибутиве ее нет, то вы можете очень просто ее установить из официальных репозиториев. Например, в Ubuntu/Debian: sudo apt install tcpdum p В Fedora/Red Hat/CentOS: sudo yum install tcpdump Когда установка завершится, вы можете переходить к работе. Команда tcpdumpПеред тем как перейти к примерам работы с утилитой, давайте рассмотрим ее синтаксис и основные опции. Команда имеет такой синтаксис: $ tcpdump опции -i интерфейс фильтры При вызове обязательно нужно передать интерфейс, который будете отслеживать. Если интерфейс не указать, то будет использован первый в списке. Опции настраивают отображение и основные возможности утилиты, а фильтры позволяют отсеять ненужные пакеты. А теперь рассмотрим основные опции:
Это не все опции, но их вам будет вполне достаточно для решения большинства задач. Чаще мы будем применять фильтры. С помощью фильтров вы можете отсеивать только те типы пакетов, которые хотите видеть. Вы можете фильтровать по ip адресу, протоколу, сети, интерфейсу и многим другим параметрам. Но фильтры tcpdump мы будем рассматривать уже на примерах. Как пользоваться tcpdumpПеред тем как перейти к использованию tcpdump нужно посмотреть какие сетевые интерфейсы вы можете использовать. Для этого запустите команду с опцией -D: Начнем рассматривать примеры tcpdump с захвата трафика на интерфейсе eth0, у меня это основной интерфейс, который подключен к интернету. Для работы программе необходимы права суперпользователя, поэтому не забудьте указать sudo: sudo tcpdump -i eth0 Чтобы остановить работу команды нажмите Ctrl+C. В выводе вы сразу же увидите все перехваченные пакеты. Формат записи для каждого пакета будет выглядеть следующим образом: 13:03:41.795599 IP udp032919uds.hawaiiantel.net.6881 > 192.168.1.2.52055 : Flags [.], seq 640160396:640161844, ack 436677393, win 2050, options , length 1448 Такой формат характерен для пакетов данных, в зависимости от протокола выделенный черным текст будет отличаться. Сначала идет временная метка, затем протокол, далее зеленым отмечен ip адрес отправителя, а синим адрес адресата, в данном случае, нашего компьютера. Дальше идут дополнительные параметры tcp и в конце размер пакета в байтах. Подробность вывода информации можно контролировать с помощью опций -v, Например: sudo tcpdump -v -i eth0 Здесь уже появляется информация о протоколе IP: IP (tos 0x0, ttl 64 , id 50309, offset 0, flags , proto TCP (6) , length 64) Мы можем узнать информацию о времени жизни пакета ttl, версию протокола TCP и длину поля заголовка. Опция -vv будет выводить проверку контрольных сумм пакета и содержимое в некоторых случаях. После опций вы можете указывать фильтры для пакетов. Вот основные параметры, по которым можно отсеивать пакеты:
Вы можете все это комбинировать между собой, чтобы получить желаемый результат. Рассмотрим более детально на примерах. Отсеем только пакеты, адресованные нашему компьютеру: sudo tcpdump -i eth0 ip dst 192.168.1.2 Также мы можем отобрать пакеты, отправляемые на определенный узел: sudo tcpdump -i eth0 dst host google-public-dns-a.google.com Как видите, это DNS пакеты и здесь вместо флагов TCP содержится полезная информация, запрос ip адреса хоста. Также вы можете выбрать ответные пакеты от определенного хоста: sudo tcpdump -i eth0 src host google-public-dns-a.google.com Здесь нет полного содержимого пакета, если вы хотите его получить нужно использовать опцию -v или -vv: sudo tcpdump -vv -i eth0 host dst google-public-dns-a.google.com С помощью оператора and вы можете объединить несколько фильтров в один: sudo tcpdump -i eth0 dst host google-public-dns-a.google.com and src host google-public-dns-a.google.com Из операций объедения доступны and и or, также можно применять скобки для обозначения приоритета. Вам необязательно указывать host, во многих случаях достаточно src или dst, утилита сама поймет что имелось в виду. Точно такую же конструкцию можно использовать для портов. Например, мы можем отсеять все запросы или ответы к DNS (на порт 53): sudo tcpdump -vv -i eth0 port 53 Точно такое же можно провернуть для http (порт 80): sudo tcpdump -vv -i eth0 port 80 Естественно, тут тоже можно применять dst и src для более конкретных результатов. Вы можете фильтровать не один порт, а целый диапазон портов: sudo tcpdump portrange 21-23 Если указать один из протоколов, вы отфильтруете только пакеты этого протокола, например tcp, udp или arp: sudo tcpdump -vv arp Точно также можно выбрать все udp пакеты: sudo tcpdump -vv udp Также доступен фильтр по обозначению сети: sudo tcpdump net 129.168.1.1/24 Кроме того, вы можете фильтровать пакеты по их размеру, например, меньше 32 байт: sudo tcpdump less 32 Или больше 128: tcpdump greater 128 sudo tcpdump -i eth0 -w file.pcap Этот файл можно открыть с помощью любой программы для чтения таких файлов, например, Wireshark. Чтобы открыть сохраненные в файл пакеты используйте опцию -r: sudo tcpdump -r file.pcap Остался еще один момент, на который стоит обратить внимание. Это формат отображения содержимого пакетов. Вы можете вывести содержимое пакета в формате ASCII используйте опцию -A: sudo tcpdump -A -i eth0 Также вы можете отобразить содержимое в формате HEX и ASCII для этого используйте -XX: sudo tcpdump -XX -i eth0 ВыводыВ этой статье мы рассмотрели как пользоваться tcpdump. Это очень мощный сетевой анализатор, который работает только через командную строку. Надеюсь, эта информация была полезной для вас и теперь использование tcpdump будет намного проще, если у вас остались вопросы, спрашивайте в комментариях! На завершение видео с лекцией о tcpdump:
tcpdump — мощный анализатор командной строки и Libpcap, портативная библиотека для захвата сетевого трафика. Tcpdump выводит описание содержимого пакетов на сетевом интерфейсе, которые соответствуют логическое выражение. Он также может быть запущен с ключом -w, который вызывает его, чтобы сохранить пакетные данные в файл для последующего анализа, и / или с -r флагом, который вызывает его для чтения из сохраненного файла пакета. С помощью этой утилиты можно перехватывать и так же анализировать сетевой трафик который проходит через ПК на котором запущенна данная программа. Хотелось бы поговорить в данной теме «установка и использование tcpdump» об установке tcpdump, а так же как им пользоваться и для чего он нужен. С помощью tcpdump можно:
Чтобы установить tcpdump на debian/ubuntu/linux mint нужно выполнить: # sudo apt-get install tcpdump Для того чтобы установить tcpdump на RedHat/CentOS/Fedora используйте: # sudo yum install tcpdump Для того чтобы установить tcpdump на MacOS используйте. # brew install tcpdump Использование tcpdump.Чтобы проверить работает ли у нас tcpdump можно выполнить команду: # tcpdump -i eth0 port 80 Существует довольно много ключей для использования самой утилиты tcpdump, приведу список распространенных: Если нужно узнать какими пакетами обменивается 21 сервера (например your_server_1 и your_server_2), то для этого служит команда: # tcpdump host your_server_1 and your_server_2 Если нужно отслеживать только исходящие пакеты из хоста, то выполните: # tcpdump src host your_server Если нужно отслеживать только входящие пакеты из хоста, то выполните: # tcpdump dst host your_server Так же можно прослушивать исходящие или входящие пакеты с сервера и по определенному порту для этого просто добавьте порт который нужно прослушивать (в основном используется 80, 8080). См. список интерфейсов, по которым tcpdumt можете слушать: # tcpdump -D Слушать интерфейс eth0: # tcpdump -i eth0 Слушать на любом доступном интерфейсе (Требуется ядро Linux версии 2.2 или выше): # tcpdump -i any Вывод всего на экран (все что выполняется программой): # tcpdump -v Вывод много чего на экран (все что выполняется программой): # tcpdump -vv Вывод очень много всего на экран (все что выполняется программой): # tcpdump -vvv Выводить не сильно много информации когда идет захват пакетов (не как стандартный): # tcpdump -q Ограничить захват пакетов до 100: # tcpdump -c 100 Записать все данные (перехваченные пакеты) в файл с именем capture.cap: # tcpdump -w capture.cap Записать все данные (перехваченные пакеты) в файл с именем capture.cap и вывести на экран в режиме реального времени: # tcpdump -v -w capture.cap Вывод пакетов с файла capture.cap: # tcpdump -r capture.cap Вывод пакетов с файла capture.cap используя максимально много информации: # tcpdump -vvv -r capture.cap Вывод IP и порты вместо доменов идет захват пакетов: # tcpdump -n Захват любых пакетов, где хост назначения — 192.138.1.1. Вывод ИП и порты на экран: # tcpdump -n dst host 192.138.1.1 # tcpdump -n src host 192.138.1.1 Захват любых пакетов c хоста 192.138.1.1. Вывод ИП и порты на экран: # tcpdump -n host 192.138.1.1 Захват пакетов где сеть 192.138.1.0/24. Вывод ИП и порты на экран: # tcpdump -n dst net 192.138.1.0/24 # tcpdump -n src net 192.138.1.0/24 Захват пакетов с сети 192.138.1.0/24. Вывод ИП и порты на экран: # tcpdump -n net 192.138.1.0/24 Захват пакетов с порта 23. Вывод ИП и порты на экран: # tcpdump -n dst port 23 Захват пакетов с портов 1 по 1023. Вывод ИП и порты на экран: # tcpdump -n dst portrange 1-1023 Захватывать только TCP пакеты где destination на портах 1 по 1023. Вывод ИП и порты на экран: # tcpdump -n tcp dst portrange 1-1023 Захватывать только UDP пакеты где destination на портах 1 по 1023. Вывод ИП и порты на экран: # tcpdump -n udp dst portrange 1-1023 Захват пакетов с destination где ИП 192.138.1.1 и destination порт которого 23. Вывод на экран: # tcpdump -n "dst host 192.138.1.1 and dst port 23" Захват пакетов с destination где ИП 192.138.1.1 и destination по портам 80 или 443. Выводим на экран: # tcpdump -n "dst host 192.138.1.1 and (dst port 80 or dst port 443)" Захват любых ICMP пакетов: # tcpdump -v icmp Захват любых ARP пакетов: # tcpdump -v arp Захват любых ICMP или ARP пакетов: # tcpdump -v "icmp or arp" Захват любых пакетов которые broadcast или multicast: # tcpdump -n "broadcast or multicast" Захват больших пакетов (500 байт) а не стандартных 68б: # tcpdump -s 500 Захват всех байт данных в пакете: # tcpdump -s 0 Просмотр «тяжелых пакетов»: # tcpdump -nnvvXSs 1514 Захват пакетов ICMP с ping и pong: # tcpdump -nnvXSs 0 -c2 icmp Вывод без многих вариантов: # tcpdump -nS Основные коммуникации (очень подробный режим), можно увидеть хороший объем трафика, с многословием: # tcpdump -nnvvS Глубокий взгляд на трафик, добавляет -X для полезной нагрузки: # tcpdump -nnvvXS Просмотр тяжелого пакета и увеличивает snaplength, захватывая весь пакет: # tcpdump -nnvvXSs 1514 Вы можете также фильтровать на основе определенных частей пакета, а также объединить несколько условий в группы. Это полезно при поиске только SYNs или РСТ, например, и последний для еще более расширенный изоляцией трафика. Показать мне все URGENT (URG) пакеты: # tcpdump "tcp & 32!=0" Показать мне всеACKNOWLEDGE (ACK) пакеты: # tcpdump "tcp & 16!=0" Показать мне все PUSH (PSH) пакеты: # tcpdump "tcp & 8!=0" Показать мне все RESET (RST) пакеты: # tcpdump "tcp & 4!=0" Показать мне все SYNCHRONIZE (SYN) пакеты: # tcpdump "tcp & 2!=0" Показать мне все FINISH (FIN) пакеты: # tcpdump "tcp & 1!=0" Показать мне все SYNCHRONIZE/ACKNOWLEDGE (SYNACK) пакеты: # tcpdump "tcp=18" Захват TCP Flags используя tcpflags: # tcpdump "tcp & & tcp-syn != 0" Пакеты с RST и SYN флагами (проверка): # tcpdump "tcp = 6" Траффик с ‘Evil Bit"(проверка): # tcpdump "ip & 128 != 0" На этом я завершу свою статью «установка и использование tcpdump», надеюсь все ясно и понятно. |
Читайте: |
---|
Новое
- Как лучше носить телефон во время бега Обзор спортивных чехлов для телефонов на руку
- Как восстановить или удалить файлы из облака Как удалить данные из облака
- Как перейти на другой тариф билайн
- Возникновение технической ошибки при размещении данных в еис Ошибка при размещении контракта в еис
- Восстановление RAW в NTFS или FAT32 на USB, SD, HDD без потери данных
- Скачать программу сервисы google play на андроид
- Видеоплееры для windows - выбираем лучший видео проигрыватель для компьютера
- Бесплатные программы для записи CD-DVD дисков на русском языке: Список лучших
- Узнаем как отформатировать флешку если она защищена от записи
- Использование телефона в качестве модема