Ip, ip6, arp, rarp, atalk, aarp, decnet, iso
Сокращение для: ether proto p, где p один из перечисленных протоколов.
Tcp, udp, icmp
Сокращения для: ip proto p or ip6 proto p, где p один из перечисленных выше протоколов.
Expr relop expr
Истина, если результат выражения true. relop - логическая операция >, <, >=, <=, =, !=, а expr - арифметическое выражение, константа или выражение полученное с помощью арифметических операций +, -, *, /, &, |. Для доступа к данным, находящимся внутри пакета используется следующий синтаксис:
proto [expr : size]
· proto - протокол - ether, fddi, tr, ip, arp, rarp, tcp, udp, icmp.
· expr - байт смещения от начала пакета.
· size - опциональный параметр, означает количество байт в интересующем поле пакета. По умолчанию - 1.
Примитивы могут объединятся посредством логических операций. Список операций:
not | ! | отрицание |
and | && | конкатенация (логическое И) |
or | || | альтернатива (логическое ИЛИ) |
Примеры фильтров захвата.
1. Захват всех пакетов на сетевом интерфейсе хоста sundown:
host sundown
2. Захват трафика между хостом helios И хостами hot ИЛИ ace:
host helios and ( hot or ace )
3. Захват всех IP-пакетов между хостом ace и каждым хостом за исключением helios:
ip host ace and not helios
4. Захват всего ftp-трафика проходящего через Internrt-гейтвей snup:
gateway snup and (port ftp or ftp-data)
5. Захват пакетов ни сгенерированных ни адресованных локальными хостами:
ip and not net localnet
6. Захват IP-пакетов размером больше чем 576 байт, проходящих через гейтвей snup:
gateway snup and ip[2:2] > 576
7. Захват всех ICMP пакетов, за исключением пакетов ping:
icmp[0] != 8 and icmp[0] != 0
Программа генерации запросов серверу имен nslookup.
Программа nslookup позволяет пользователям интерактивно или не интерактивно опрашивать сервера имен Internet. В интерактивном режиме пользователи могут запрашивать у серверов имен информацию о различных хостах и доменах, печатать список хостов в домене и т.д. В не интерактивном режиме пользователь может получить имена и запросить информацию о хостах и доменах.
Интерактивный режим имеет много опций и команд; рекомендуется прочитать страницу руководства для nslookup, введя команду help в интерактивном режиме.
Основные опции доступные в интерактивном режиме:
§ NAME - печатает информацию о хосте/домене NAME, используя сервер DNS по умолчанию;
§ NAME1 NAME2 - то же, что и выше, но используется указанный сервер DNS NAME2;
§ help или ? – вывод информации об основных командах;
set OPTION - установка опций;
§ all - вывод опции, текущего сервера и хоста;
[no]debug - вывод отладочной информации;
[no]d2 – вывод полной отладочной информации.
Для запуска в не интерактивном режиме команду nslookup необходимо указать в качестве параметра конкретный хост Internet:
Например:
>nslookup www.redhat.com
>Server: deep.openna.com
>Address: 208.164.186.1
>Non-authoritative answer:
>Name: www.portal.redhat.com
>Addresses: 206.132.41.202, 206.132.41.203
>Aliases: www.redhat.com
Где www.redhat.com это имя или Internet-адрес о котором необходимо получить информацию.
Команда arp.
Команда ARP позволят просматривать и изменять информацию содержащуюся в таблицах ARP (т.н. «Internet-to-Ethernet address translation tables») используя протокол разрешения адресов ARP (address resolution protocol).
Без параметров команда выводит текущее состояние таблицы адресов для данного хоста. Хост может быть задан сетевым адресом, либо символьным именем.
Синтаксис:
arp -aarp -d inet_addrarp -s inet_addr ether_addr Основные параметры:§ -a – Выводит текущее состояние таблицы ARP. Информация выводится по каждому интерфейсу в системе. Если указан IP-адрес, выводится информация только по указанному адресу.
§ -d - Удаляет запись об указанном IP-адресе из таблицы ARP. * - удаляет все записи.
§ -s - inet_addr ether_addr - Создает запись в таблице ARP. inet_addr – числовой составной адрес. ether_addr – аппаратный адрес, представленный шестью 16-ричными числами.
Команда ping.
Посылает ECHO_REQUEST датаграммы для получения ICMP протоколом ответа ICMP ECHO_RESPONSE с узла или шлюза, с целью определить, существует ли в данный момент соединение локального компьютера с удаленным хостом, а также время прохождения информации (пакетов) до него.
Эта команда предназначена для использования при тестировании сетей, управления сетями и измерения характеристик работы сети.
Синтаксис:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] destination-list
Основные параметры:
§ -t - Не прекращать работу до принудительного завершения пользователем. Для просмотра статистики и продолжения работы - Control-Break. Для прекращения работы - Control-C.
§ -a - Разрешать числовые составные адреса в символьные имена.
§ -n count - Остановить работу после передачи count пакетов ECHO_REQUEST, ping ждет count пакетов ECHO_REPLY, пока не закончится таймаут.
§ -l size - Определяет размер пакетов для пересылки. По умолчанию 24, преобразующиеся в 32 ICMP байтов данных при комбинации с 8 байтами ICMP заголовка.
§ -i TTL - Устанавливает время жизни IP для пакетов.
§ -v TOS - Устанавливает качественную связь. RFC1349 определяет следующие значения:
§ 0-зарезервировано;
§ 1-4 - тип сервиса;
§ 5-7 для предпочитаемых значений.
Возможные значения для типа сервиса:
§ минимальное время: 0x02,
§ надежность: 0x04;
§ пропускная способность: 0x08;
§ задержка: 0x10.
Установка нескольких битов TOS не должна производиться одновременно. Возможный диапазон для особых предпочитаемых значений: от приоритетного (0x20) до сетевого управления (0xe0).
§ -r count - Показать буфер маршрута для возвращенных пакетов. Принимаемые параметры ключа от 1 до 9; - количество записей буфера. Многие узлы игнорируют или не обрабатывают этот параметр.
§ -s count - Устанавливает специальную временную метку IP. Принимаемые значения ключа от 1-4; - количество временных меток на каждый ECHO_REQUESTпакет.
§ -w timeout - Ожидать timeout миллисекунд пакета ECHO_REPLYна каждыйECHO_REQUESTпакет.
Если ping не получает ответных пакетов, то она завершит работу с кодом выхода 1. Иначе программа завершает работу с кодом 0. Эти значения позволяют использовать коды выхода для определения работоспособности серверов и компьютеров в программах и скриптах.
Описание пакетов ICMP
Заголовок IP без параметров имеет размер в 20 байтов. Пакет ICMP ECHO_REQUEST содержит дополнительные 8 байтов к ICMP заголовку, сопровождаемые случайным количеством данных. Когда задано packetsize , то определяется и размер дополнительного блока данных. Поэтому количество принятых данных внутри IP пакета типа ICMP ECHO_REPLY всегда будет на 8 байтов больше, чем заданный ( ICMP заголовок).
Если размер данных всего 8 байт, то ping использует их для включения временной метки, используемой для измерения времени прохода. Если указано менее 8 байт, то время прохода не будет определено.
TTL
Значение TTL для IP пакетов есть то максимальное количество IP маршрутизаторов, через которое пакет еще будет пытаться проходить, а не считаться утерянным. Каждый маршрутизатор в сети уменьшает поле TTL четко на единицу.
Спецификация TCP/IP определяет, что поле TTL для пакетов TCP должно быть установлено в 60, но многие системы используют меньшие значения (4.3 BSD использует 30, 4.2 использует 15).
Максимальное значение данного поля равно 255, и многие системы устанавливают поле TTL для пакетов ICMP ECHO_REQUEST в 255.
При нормальных операциях ping выводит значения времени жизни принятых (возвращенных) пакетов. Когда удаленная система принимает пакет, она может сделать одну из трех возможных операций с полем TTL в ответ:
· Не изменять его; это делали системы Berkeley Unix до выпуска BSD 4.3 tahoe TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов.
· Устанавливает его в 255; это то, что системы Berkeley Unix делают сейчас. В этом случае значение TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов от удаленной системы до ping-уемого компьютера.
· Устанавливает его в какое-либо другое значение. Некоторые машины используют то же значение для пакетов ICMP , что они используют для TCP пакетов, например либо 30 либо 60. Некоторые могут использовать вообще непредсказуемые значения.
Команда tracert.
Данная команда позволяет "протрассировать", т.е. проследить путь прохождения информации (пакетов) до указанного хоста в сети.
Синтаксис:
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
Опции:
§ -d – Не разрешать составные числовые адреса в символьные имена.
§ -h maximum_hops – Максимальное количество хопов, которое можно совершить в поисках хоста.
§ -w timeout – Ожидать каждого ответа timeout миллисекунд.
Команда tracert выводит путь прохождения пакетов в сети и время отклика от каждого промежуточного "узла" в миллисекундах. Таким образом, при проблемах с доступом к определенному хосту можно определить, в каком месте сети происходит "затор".
Примечание. Некоторые сайты специальным образом закрыты от команды tracert.