lab.MIT.04
.pdfc1209118 stream |
0 |
|
0 |
c1ac0c60 |
|
0 |
|
0 |
0 |
|
/var/run/dovecot/login/default |
0 |
|
0 |
c1088e38 |
0 |
c1089348 |
|
|
||
c10883d4 dgram |
0 |
|
|
|
||||||
c1088c94 dgram |
0 |
0 |
0 |
0 |
c1088e38 |
0 |
0 |
0 |
0 |
0 |
c1088d20 dgram |
0 |
|
c108a108 |
|
|
|||||
/var/named/var/run/log |
0 |
0 |
c108a210 |
0 c10884ec |
|
0 |
/var/run/log |
|
||
c1088dac dgram |
|
|
||||||||
c1088e38 dgram |
0 |
0 |
c108a318 |
0 c10883d4 |
|
0 |
/var/run/logpriv |
|||
c1088ec4 dgram |
0 |
0 |
c1078210 |
0 |
0 |
|
0 |
/var/run/log |
|
Отчёт утилиты netstat(1) состоит из двух частей: в первой перечислены открытые в настоящий момент соединения, а во второй перечислены используемые системой сокеты.
В примере, текущий узел xxx.yyy.zzz.180 имеет шесть соединений по протоколу ssh (порт 22). Из них пять открыто из Internet (с узла xyz.yzx.zxy.yxz) и одно открыто с текущего узла, с адреса 172.16.0.1 на машину 172.16.0.2. Все шесть соединений открыты и потому пребывают в состоянии ESTABLISHED. На портах 123 (NTP, служба времени) и 53 (DNS) висят службы и ждут входящего соединения (поскольку никаких флагов тут не обозначено). С узла 172.16.0.2 импортировано несколько каталогов по NFS.
Утилита netstat(1) выводит сведения о состоянии TCP (например, флаг ESTABLISHED), согласно RFC 793. При помощи флага -a можно получить информацию обо всех сокетах, в том числе пребывающих в состоянии LISTEN.
# netstat -na | grep |
LISTEN |
*.* |
LISTEN |
||
tcp4 |
0 |
0 |
*.587 |
||
tcp4 |
0 |
0 |
*.25 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.22 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.80 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.143 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.965 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.2049 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.701 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.730 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
*.111 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
127.0.0.1.953 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
127.0.0.1.53 |
*.* |
LISTEN |
tcp4 |
0 |
0 |
172.19.0.2.53 |
*.* |
LISTEN |
Таким образом, можно узнать какие порты прослушиваются узлом.
7. Утилита route(8).
Утилита route(8) больше предназначена для управления таблицей маршрутизации, однако с её помощью тоже можно получить некоторую диагностическую информацию. Чтобы узнать маршрут к узлу с адресом 192.168.3.4:
$ route get 192.168.3.4 |
|
|
|
|
|
|
|
route to: 192.168.3.4 |
|
|
|
|
|
|
|
destination: default |
|
|
|
|
|
|
|
mask: default |
|
|
|
|
|
|
|
gateway: xxx.yyy.zzz.254 |
|
|
|
|
|
||
interface: fxp0 |
|
|
|
|
|
|
|
flags: <UP,GATEWAY,DONE,STATIC> |
rttvar |
hopcount |
mtu |
expire |
|||
recvpipe sendpipe ssthresh |
rtt,msec |
||||||
0 |
0 |
0 |
0 |
0 |
0 |
1500 |
0 |
При помощи команды |
route |
monitor можно следить за изменениями маршрутной таблицы в реальном |
времени.
8. Утилита hostname(1).
Утилита hostname(1) служит для того, чтобы сообщить имя машины, на которой она запущена. Используется во множестве разнообразных скриптов. Имеет всего один необязательный аргумент служащий для удаления имени домена:
$ hostname myhost.example.org $ hostname -s myhost
9. Утилита nslookup(1).
Утилита nslookup(1) предназначена для диагностики службы DNS, в простейшем случае – для выполнения запросов к DNS-серверам на разрешение имен в IP-адреса. В общем случае утилита позволяет просмотреть любые записи DNS-сервера. Кроме всего прочего она интересна ещё и тем, что входит в стандартную поставку большинства операционных систем компании MicroSoft.
Синтаксис утилиты:
$ nslookup google.com
11
Server: 10.18.49.102
Address: 10.18.49.102#53
Non-authoritative answer:
Name: google.com
Address: 74.125.45.100
Name: google.com
Address: 74.125.67.100
Name: google.com
Address: 74.125.127.100
10. Утилита tcpdump(1).
Утилита tcpdump(1) отностится к числу так называемых снифферов – программ предназначенных для перехвата сетевого трафика. Одним словом, tcpdump(1) предназначен для подслушивания. С одной стороны, это одно из самых мощных средств диагностики и администратор без tcpdump(1) будет лишён глаз и ушей, с другой стороны, сама возможность применения этой программы потенциально опасна.
tcpdump(1) не единственный сниффер, которым может пользоваться администратор. Кроме tcpdump(1) есть ещё программа wireshark(1) (более известная как ethereal) – сниффер с графическим интерфейсом, который может обрабатывать дампы сделанные программой tcpdump(1) и другие.
tcpdump(1) работает при помощи интерфейса bpf(4) (Berkeley Packet Filter). Если поддержку этого устройства отключить, сниффинг в BSD окажется невозможен.
Если программа tcpdump(1) вызвана для прослушивания некоторого интерфейса, она переводит его в «promiscuous mode» – «неразборчивый режим». В этом режиме интерфейс захватывает все пакеты, которые к нему поступают, а не только пакеты адресованные непосредственно ему. Таким образом, если сеть собрана не на коммураторах, а на повторителях, то tcpdump(1) позволит перехватить трафик между посторонними машинами, т.е. подслушать разговор двух сторонних машин. Впрочем, интерфейс можно и не переводить в promiscuous mode, если передать программе аргумент -p.
Опции tcpdump(1) можно разделить на несколько типов.
Выбор объекта |
Какой интерфейс прослушивать, читать ли данные из файла, сохранять ли их в файл. |
Опции форматирования |
В каком виде представить дату, выводить ли шестнадцатеричный дамп пакета и т.п. |
Прочие опции |
Объём захватываемой информации, привилегии, буферизация, запись в файлы в стиле |
|
logrotate и вращение записанных файлов, и др. |
Условия |
Т.е. какие пакеты перехватывать: можно перехватывать только ICMP пакеты, или только |
|
ARP запросы, или только почтовый трафик. |
10.1. Выбор объекта. |
|
Опции |
Описание |
-i
interface Какой интерфейс должен прослушиваться утилитой.
|
В обычном режиме отчёт утилиты tcpdump(1) выводится на терминал в режиме реального времени, |
-w file |
однако можно попросить при помощи опции -w записывать всю информацию в файл в бинарном виде, т.е. |
сделать dump того, что происходит на сетевом интерфейсе. В последствии эту информацию можно заново |
|
|
проанализировать при помощи опции -r. |
|
Эта опция применяется вместо -i и служит для того, чтобы прочитать данные из файла. Файл в бинарном |
-r file |
формате можно создать заранее при помощи опции -w. Кроме того, есть и другие программы, которые |
|
создают файлы в формате бинарного файла tcpdump(1), например в этом формате сохраняет |
|
журнальный файл брандмауэр pf(4). |
-D |
Перечислить доступные интерфейсы (которые можно прослушивать при помощи опции -i). |
Описание
Вывод информации в краткой форме. Одно из «неудобств» программы tcpdump(1) состоит в том, что она -q очень информативна. Из-за этого информация о перехватываемых сообщениях не влезает в строку в терминале.
Данная опция призвана разрешить эту проблему.
-A |
|
|
-x |
Эти опции включают вывод содержимого пакета. Опция -A – в формате ASCII, -x – в шестнадцатеричном виде |
|
-xx |
||
-X |
и -X одновременно и в ASCII и в шестнадцатеричном виде. |
|
-XX |
|
|
-v |
Verbose – подробный вывод информации о заголовке пакета. Чем больше букв v тем подробнее вывод. |
|
-vv |
||
|
||
|
12 |
Опции |
Описание |
-vvv |
|
-t |
Разный формат вывода даты: 1) не выводит информации о времени, 2) время выводится в секундах от начала |
-tt |
UNIX эры, 3) выводится информация о том, сколько прошло микросекунд после предыдущей строки, |
-ttt |
4) обычный формат (час:мин:сек.микросек), но спереди добавлена текущая дата (год-месяц-число). |
-tttt |
|
-f |
-f использует числовые IP адреса вместо символьных. -n ещё строже: не только адреса, но и номера протоколов |
-n |
выводятся в числовом виде. Опция -N заставляет вместо полного доменного имени писать только имя узла. Т.е. |
-N |
вместо www.ua просто www. |
-e |
Выводится информация о заголовках канального уровня (MAC-адреса). |
В примере захватываются 2 ICMP пакета на интерфейсе fxp0:
#tcpdump -i fxp0 -c2 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on fxp0, link-type EN10MB (Ethernet), capture size 96 bytes 15:51:48.309703 IP 10.18.51.1 > 10.18.51.222: ICMP echo request, id 64479, seq 63,
length 64
15:51:48.310409 IP 10.18.51.222 > 10.18.51.1: ICMP echo reply, id 64479, seq 63, length 64
2 packets captured
30 packets received by filter
0 packets dropped by kernel
10.3. Прочие опции.
Опции |
Описание |
-l |
Сделать буферизацию построчной. |
-c count |
Выйти из программы после получения count пакетов. |
-C size |
Если выбрана опция -w файл не должен превысить размера size. Если объём оказывается больше, то запись |
производится в другой файл, имя которого определяется путём дописывания номера к имени файла. size |
|
|
задаётся в миллионах байт. |
-W num |
Используется одновременно с -C. Ограничивает количество файлов числом num. |
-F file |
Условие читать не из командной строки, а из файла. |
|
Захватывать size байт от каждого пакета. По умолчанию перехватываются только первые 96 байт, это |
-s size |
существенно уменьшает размер файла, который записывает программа. В большинстве случаев первых 96 |
байт достаточно для прояснения ситуации, однако, если требуется перехватить трафик целиком, то стоит |
|
|
выставить size равным MTU. |
-p |
Отключить promiscuous mode |
-Z user |
После запуска сделать владельцем процесса пользователя user. В качестве группы будет назначена основная |
|
группа, в которую входит user. |
10.4. Условия.
Условия определяют то, какие пакеты будут перехвачены. Если не указано никаких условий, будут перехвачены все пакеты, если условия указаны, то только те пакеты, для которых это условие истинно.
Условие состоит из некоторого количества примитивов. Примитив состоит из идентификатора (числа или имени) перед которым идёт оператор одного из трёх типов:
тип |
чем является идентификатор? Допустимые значения: |
, |
, |
, |
|
. Например, |
|
|
|
host net port portrange |
|
|
|||
|
возможны следующие примитивы: host somehost, net 128.3, port 20, portrange 6000- |
||||||
|
6008 |
|
|
|
|
|
|
направление |
куда относительно идентификатора направлен пакет? Возможные направления: |
, |
|
, |
|||
|
|
|
|
|
src dst src or |
||
|
dst, src and dst. Например: src somehost, dst net 128.3, src or dst port ssh. |
||||||
|
Если направление не указано, подразумевается src or dst. |
|
|
|
|
|
|
протокол |
ограничивает пакеты некоторым протоколом. Возможные протоколы: |
, |
, |
, |
, , |
||
|
|
|
|
ether fddi tr wlan ip |
|||
|
ip6, arp, rarp, decnet, lat, sca, moprc, mopdl, iso, esis, isis, icmp, icmp6, tcp и udp. |
Кроме того, есть примитивы, за которыми не следует шаблона: gateway, broadcast, less, greater. Можно строить сложные условия, объединяя примитивы при помощи следующих операторов: and, or, not.
Допустимые примитивы:
dst host xxx |
Истина, если пакет направлен узлу xxx |
src host xxx |
Истина, если пакет отправлен узлом xxx |
host xxx |
Истина, если пакет отправлен узлом xxx или предназначен узлу xxx. Перед |
|
перечисленными примитивами могут быть упомянуты протоколы ip, ip6, arp, rarp. ip |
|
13 |
|
host xxx эквивалентно ether proto \ip and host xxx. Замечание: «ip» – |
|
|||||
|
ключевое слово, поэтому мы должны защитить его обратным слешем (а в shell'е двумя |
||||||
|
бекслешами). |
|
|
|
|
|
|
ether dst host xxx |
Истина, если пакет предназначен узлу с канальным адресом xxx (т.е. MAC адрес xxx). |
||||||
ether src host xxx |
аналогично, но в обратную сторону |
|
|
|
|
|
|
ether host xxx |
Истина, если MAC адрес назначения или MAC адрес источника xxx. |
|
|
||||
gateway xxx |
Истина, если пакет использует xxx в качестве шлюза. Т.е. если MAC адрес источника |
||||||
|
или назначения соответствует xxx, но ни IP адрес источника ни IP адрес назначения не |
||||||
|
являются xxx. xxx должен быть именем, и разрешаться машиной как в IP так и в MAC |
||||||
|
(возможно с использованием файла /etc/ethers). Эквивалентная конструкция ether |
||||||
|
host xx1 and not host xxx2, где xxx1 это аппаратный адрес узла xxx, а xxx2 – IP адрес |
|
|||||
|
xxx. |
|
|
|
|
|
|
dst net xxx |
Истина, если IP адрес назначения принадлежит сети xxx |
|
|
|
|
||
src host xxx |
Истина, если IP адрес источника принадлежит сети xxx |
|
|
|
|
||
net xxx |
Истина если один из адресов (источника или назначения) принадлежит сети xxx. |
|
|||||
net xxx mask yyy |
То же, но позволяет задавать CIDR сети, т.е. сети не по классам A, B, C, а по |
|
|||||
|
безклассовой системе. |
|
|
|
|
|
|
net xxx/len |
То же. |
|
|
|
|
|
|
dst port xxx |
Порт назначения xxx. Работает с пакетами ip/tcp, ip/udp, ip6/tcp и ip6/udp. xxx можно |
||||||
|
задать числом, а можно символьно, в этом случае номер порта будет взят из файла |
|
|||||
|
/etc/services. |
|
|
|
|
|
|
src port xxx |
порт источника xxx |
|
|
|
|
|
|
port xxx |
один из портов (назначения или источника) xxx |
|
|
|
|
|
|
dst portrange xxx- |
Истина, если порт назначения лежит в диапазоне между xxx yyy. xxx и yyy можно |
|
|||||
yyy |
задавать как численно, так и по имени. |
|
|
|
|
|
|
src portrange xxx- |
Аналогично |
|
|
|
|
|
|
yyy |
|
|
|
|
|
|
|
portrange xxx-yyy |
Аналогично |
|
|
|
|
|
|
less xxx |
Истина, если размер пакета меньше xxx |
|
|
|
|
|
|
greater |
Истина, если размер пакета больше xxx |
|
|
|
|
|
|
ip proto xxx |
Истина, если пакет принадлежит протоколу xxx. Протокол может быть задан по номеру |
||||||
|
или по имени. Допустимы следующие имена: icmp, icmp6, igmp, igrp, pim, ah, |
|
|||||
|
esp, vrrp, udp, tcp. Замечание: идентификаторы tcp, udp и icmp являются |
|
|||||
|
ключевыми словами и должны защищаться обратным слешем (а в shell'е двумя |
|
|||||
|
бекслешами). |
|
|
|
|
|
|
ip6 proto xxx |
Истина, если пакет IPv6 принадлежит протоколу xxx. |
|
|
|
|
||
ip6 protochain xxx |
Истина, если пакет IPv6 содержит заголовок протокола xxx в своём заголовке. |
|
|||||
|
Например ip6 protochain 6 соответствует пакет IPv6 с заголовком TCP. Пакет |
|
|||||
|
может содержать, например, аутентификационный заголовок, маршрутизационный |
|
|||||
|
заголовок или дополнительный hop-by-hop заголовок. |
|
|
|
|
||
ip protochain xxx |
То же, но для IPv4 |
|
|
|
|
|
|
ether broadcast |
Истина, если данный пакет отправлен на широковещательный канальный адрес. |
|
|||||
ip broadcast |
Истина, если пакет отправлен на широковещательный IP адрес |
|
|
|
|||
ether multicast |
Истина, если пакет направлен на мультикастный канальный адрес. Ключевое слово |
|
|||||
|
ether можно опустить. Данный примитив эквивалентен ether[0] & 1 != 0. |
|
|||||
ip multicast |
Истина, если пакет направлен на мультикастный IPv4 адрес |
|
|
|
|
||
ip6 multicast |
Истина, если пакет направлен на мультикастный IPv6 адрес |
|
|
|
|
||
ether proto xxx |
Истина, если пакет принадлежит канальному протоколу xxx. Протокол может быть |
|
|||||
|
передан по номеру или символьно. Допустимы следующие имена: ip, ip6, arp, rarp, |
||||||
|
atalk, aarp, decnet, sca, lat, mopdl, moprc, iso, stp, ipx, netbeui. |
|
|||||
|
Замечание: некоторые из этих идентификаторов – ключевые слова и должны быть |
|
|||||
|
экранированы обратным слешем (а в shell'е двумя бекслешами). |
|
|
|
|||
vlan [xxx] |
Истина, если пакет является пакетом IEEE 802.1Q VLAN. Если указан [xxx], |
||||||
|
проверяется так же и идентификатор VLAN. Первое ключевое слово vlan приводит к |
||||||
|
расшифровке пакета. Таким образом, условию |
vlan |
100 |
&& |
vlan |
200 |
|
|
соответствуеют пакеты vlan 200 упакованные в пакеты vlan 100. Условию vlan |
&& |
|||||
|
vlan 300 && ip соответствуют пакеты |
IPv4 |
упакованные |
в vlan |
300, которые |
||
|
упакованы в vlan верхнего уровня. |
|
|
|
|
|
|
|
|
|
|
|
|
||
tcp, udp, icmp |
Аббревиатуры для выражения ip proto |
p or |
ip6 |
proto |
p, где p – один из |
||
|
перечисленных протоколов. |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
Для доступа к данным пакета используется следующий синтаксис: proto [ expr : size ], proto может быть: ether, fddi, tr, wlan, ppp, slip, link, ip, arp, rarp, tcp, udp, icmp, ip6, radio и определяет уровень протокола, для операции взятия индекса. (ether, fddi, wlan, tr, ppp, slip и link ссылаются на канальный уровень, radio ссылается на radio header добавляемый в некоторые пакеты 802.11). Замечание: tcp, udp и другие протоколы верхнего уровня применимы пока только к IPv4, но не к IPv6, что должно быть исправлено в будущем.
expr – означает смещение в байтах для протокола данного уровня. size необязательная величина, означает количество захватываемых байт. По умолчанию size равен единице, можно подставить два три или четыре. Оператор len возвращает длину пакета в байтах.
Выражение ether[0] & 1 != 0 захватывает весь мультикастный трафик (для него есть так же примитив multicast). Пояснение: здесь проверяется на чётность первый байт заголовка канального уровня. При этом заголовок канального уровня начинается с 6 байт MAC адреса назначения. Таким образом, данное условие выясняет, равен ли единице восьмой бит 48-битного MAC адреса.
Выражение ip[0] & 0xf != 5 захватывает все пакеты IPv4 с опциями. Пояснение: здесь берётся первый байт пакета IPv4 и выполняется AND с числом 0xf (в десятичной системе 15, в двоичной 1111). Если в результате сложения получится число 5 (101), то значит первый байт был xxxx1010 т.е. вторая половина первого байта была равна 5. Вторая половина первого байта отвечает за длину IPv4 заголовка в 32-х разрядных словах. Если длина заголовка 5 32-битных слов, то значит никаких дополнительных опций в нём нет, так как это наименьшая возможная длина заголовка IP. А если результат операции не равен 5, то значит он больше пяти и в нём есть какие-то дополнительные опции.
Некоторые «смещения» предопределены и имеют названия. например: icmptype, icmpcode, tcpflags. Так же предопределены и значения: icmp-echoreply, icmp-unreach, icmp-sourcequench, icmp-redirect, icmpecho, icmp-routeradvert, icmp-routersolicit, icmp-timxceed, icmp-paramprob, icmp-tstamp, icmptstampreply, icmp-ireq, icmp-ireqreply, icmp-maskreq, icmp-maskreqreply, а так же для флагов TCP: tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg.
Примитивы могут объединяться при помощи следующих операторов:
! или |
not |
Отрицание. Имеет наибольший приоритет |
|| или |
or |
Альтернатива |
&& или |
and |
Объединение |
Кроме того, для указания приоритета можно использовать круглые скобки.
Если идентификатор отсутствует, подразумевается последний использованный. Так not host vs and ace
эквивалентно not host vs and host ace.
10.5. Примеры.
Все пакеты IP идущие между test и любым узлом кроме test2:
#tcpdump ip host test and not test2
Весь ftp трафик идущий через шлюз test:
#tcpdump 'gateway test and (port ftp or ftp-data)'
Следующее выражение соответствует пакетам длиннее 576 байт посылаемым через шлюз test:
# tcpdump 'gateway test and ip[2:2] > 576'
Задание на работу
1. В соответствии с вариантом:
-установить дополнительный адрес для сетевого интерфейса;
-изменить MAC адрес и режим работы интерфейса на физическом уровне;
-изменить MTU сетевого интерфейса;
-используя утилиту ping, проверить достижимость узла с адресом IP1, при этом количество отправляемых пакетов должно ровняться номеру варианта, а размер пакета – удвоенному значению MTU;
-используя утилиты ping и traceroute вывести маршрут продвижения пакета к узлу с адресом IP2;
-вывести статистику работы протоколов TCP, UDP, ICMP, IP;
-определить адрес(а) узла по его DNS имени.
Варианты заданий.
№ |
Дополнительный |
MAC адрес |
Режим работы |
MTU |
IP1 |
IP2 |
DNS имя |
|
варианта |
IP адрес |
интерфейса |
||||||
1 |
192.168.1.14 |
00:11:22:33:44:55 |
100baseTX |
1000 |
10.18.51.1 |
10.18.48.1 |
freebsd.org |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
2 |
172.17.20.123 |
00:11:00:11:00:11 |
10baseT |
900 |
10.18.51.222 |
10.18.49.4 |
apache.org |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
3 |
192.168.3.230 |
00:11:22:11:22:11 |
100baseTX |
200 |
10.18.49.102 |
10.18.49.3 |
debian.org |
|
half-duplex |
||||||||
|
|
|
|
|
|
|
15
№ |
Дополнительный |
MAC адрес |
Режим работы |
MTU |
IP1 |
IP2 |
DNS имя |
|
варианта |
IP адрес |
|
интерфейса |
|
|
|
|
|
4 |
172.17.40.7 |
00:55:44:33:22:11 |
10baseT |
1100 |
10.18.48.1 |
10.18.48.222 |
centos.org |
|
half-duplex |
||||||||
|
|
|
|
|
|
|
||
5 |
192.168.5.1 |
00:11:11:11:22:22 |
100baseTX |
300 |
10.18.49.10 |
10.18.50.1 |
samba.org |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
6 |
172.17.60.201 |
00:66:77:88:99:AA |
10baseT |
500 |
10.18.49.3 |
10.18.48.1 |
quagga.net |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
7 |
192.168.7.191 |
00:AA:99:88:77:66 |
100baseTX |
1400 |
10.18.50.1 |
10.18.49.4 |
openssl.org |
|
half-duplex |
||||||||
|
|
|
|
|
|
|
||
8 |
172.17.80.19 |
00:55:00:55:00:55 |
10baseT |
100 |
10.18.51.1 |
10.18.49.3 |
exim.org |
|
half-duplex |
||||||||
|
|
|
|
|
|
|
||
9 |
192.168.9.137 |
00:99:11:99:11:99 |
100baseTX |
400 |
10.18.51.222 |
10.18.48.222 |
php.net |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
10 |
172.17.100.84 |
00:33:44:55:66:77 |
10baseT |
800 |
10.18.49.102 |
10.18.50.1 |
dovecot.org |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
11 |
192.168.11.254 |
00:88:77:66:55:44 |
100baseTX |
1300 |
10.18.48.1 |
10.18.48.1 |
netfilter.org |
|
half-duplex |
||||||||
|
|
|
|
|
|
|
||
12 |
172.17.120.36 |
00:12:34:56:78:9A |
10baseT |
600 |
10.18.49.10 |
10.18.49.4 |
perl.org |
|
half-duplex |
||||||||
|
|
|
|
|
|
|
||
13 |
192.168.13.149 |
00:A9:87:65:43:21 |
100baseTX |
1200 |
10.18.49.3 |
10.18.49.3 |
openvpn.net |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
14 |
172.17.140.55 |
00:01:10:01:10:01 |
10baseT |
700 |
10.18.50.1 |
10.18.48.222 |
openldap.org |
|
full-duplex |
||||||||
|
|
|
|
|
|
|
||
15 |
192.168.15.200 |
00:01:23:44:32:10 |
100baseTX |
1000 |
10.18.48.222 |
10.18.50.1 |
freeradius.org |
|
half-duplex |
||||||||
|
|
|
|
|
|
|
2. Согласно варианту настроить фильтр для утилиты tcpdump и вывести требуемый трафик на экран. Для проверки работы фильтра необходимо использовать средства генерации трафика для соответствующих протоколов.
Варианты заданий.
№ |
Входящий трафик |
Исходящий трафик |
|
варианта |
|||
|
|
||
1 |
ICMP, TCP с 21 порта из сети 10.18.49.0/24 |
UDP на 53 порт |
|
2 |
Широковещательный трафик, UDP с 53 порта |
TCP на 22 порт к узлу 10.18.48.1 |
|
3 |
ARP, UDP, с узла 10.18.51.1 |
ICMP, TCP в сеть 10.18.49.0/24 |
|
4 |
TCP из сети 10.18.51.0/24, ICMP echo reply |
ARP, UDP |
|
5 |
TCP syn, UDP из сети 10.18.51.0/24 |
ICMP в сеть 10.18.48.0/24 |
|
6 |
TCP с 22 порта с узла 10.18.49.1, ICMP |
TCP на 22 порт, TCP на 80 |
|
7 |
UDP, с узла 10.18.49.10 |
ARP, ICMP к узлу 10.18.51.222 |
|
8 |
TCP ack с 80 порта, ICMP с узла 10.18.51.1 |
TCP, UDP к узлу 10.18.49.102 |
|
9 |
ICMP, TCP с 25порта из сети 10.18.49.0/24 |
ARP, ICMP к узлу 10.18.51.1 |
|
10 |
ARP, UDP, с узла 10.18.51.222 |
ICMP в сеть 10.18.49.0/24 |
|
11 |
TCP fin, UDP из сети 10.18.48.0/24 |
ICMP, TCP в сеть 10.18.48.0/24 |
|
12 |
UDP, с узла 10.18.49.102 |
TCP на 21 порт к узлу 10.18.49.10 |
|
13 |
TCP с 21 порта с узла 10.18.49.10, ICMP |
UDP на 53 порт |
|
14 |
TCP из сети 10.18.48.0/24, ICMP echo reply |
ARP, UDP |
|
15 |
Широковещательный трафик, UDP с 53 порта |
TCP на 21 порт, TCP на 22 |
Контрольные вопросы
1.Как можно определить номер порта, который использует сетевое приложение?
2.Какие параметры физического, канального и сетевого уровней модели OSI можно изменить с помощью утилиты
ifconfig?
3.Что означает promiscuous mode сетевого интерфейса?
4.Каким образом во FreeBSD выполняется преобразование DNS-имени в IP-адрес?
5.Каким образом утилита traceroute определяет маршрут продвижения пакета?
6.Какие функции выполняет утилита ping?
7.Уровни стека протоколов TCP/IP и их функции.
8.С какой целью может использоваться утилита tcpdump?
16
Литература
1. «Requirements for Internet Hosts – Communication Layers», RFC1122, http://www.ietf.org/rfc/rfc1122.txt, October
1989.
2.Стивенс У.Р. Протоколы TCP/IP. Практическое руководство / Пер. с англ. И коммент. А.Ю. Глебовского. – СПб.: «Невский Диалект» - «БХВ-Петербург», 2003. – 672с.: ил.
3.Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы. Учебник для вузов. 3-изд. -
Спб: Питер, 2007. - 960 с.
4.http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/config-network-setup.html
17