2.4. Примеры захваченных пакетов и элементы
анализа
Вот как проиллюстрирует TCPDump процедуру установления соединения между двумя
машинами: rtsg и csam.
rtsg.1023 > csam.login: s 768512:768512(0)
win 4096 handshake
csam.login > rtsg. 1024: s
947648:947648(0) ask 768513 win 4096
rtsg.1023 >
csam.login: . ack 1 win 4096
vrtsg.1023 > csam.login: p
2:21(19) ack 1 win 4096
csam.login > rtsg.1024: p 1:2(1)
ack 21 win 4077
csam.login > rtsg.1024: p 2:3(1) ack 21 win
4077 urg 1
csam.login > rtsg.1024: p 3:4(1) ack 21 win 4077
urg 1
Первая строка говорит о том, что tcp-порт 1023 на
rtsg отправляет пакет порту login на csam. Индикатор s говорит о том, что был
послан syn флаг, т.е. бит, означающий, что TCP - пакет представляет собой запрос
на установления соединения. Номер в последовательности (32-битное поле,
содержание которого определяет положение данных TCP- пакета внутри исходящего
потока данных, существующего в рамках текущего логического соединения) был
установлен в 768512 и пакет не содержал данных. Флаг ack не был установлен, так
как не было информации, требующей подтверждения. Возможный для rtsg размер
скользящего окна - 4096 байт. Так же был указан максимальный размер сегмента
данных, а именно 1024 байта.
Получение пакета с установленным
флагом syn должно быть подтверждено получающей стороной. Csam отвечает сходным
пакетом, но с установленным флагом ack. Gtsg затем отвечает пакетом с флагом
ack, тем самым подтверждая получение ответа от csam. Y говорит о том, что другие
флаги установлены не были. Пакет не сдержит данных, а, следовательно, и номер в
последовательности. Замечательно то, что Номер подтверждения у этого пакета
имеет тип small integer (1). Когда tcpdump впервые видит tcp-соединение, она
выводит номер в последовательности непосредственно из пакета. Для последующих
пакетов соединения высчитывается разность текущего номера и инициализированного
при установлении соединения. В четвертой строке rtsg посылает csam 19 байт
данных. Установлен флаг Push, сообщающий, что данные, переданные в пакете,
должны быть немедленно переданы прикладной программе.
В пятой
строке csam сообщает, что переданные ему данные были получены. Большая часть
этих данных видимо находится в буфере устройства, т.к. csam просит уменьшить
размер скользящего окна на 19 байт. Этот пакет так же содержит один байт данных.
Далее scam посылает еще два пакета со срочными данными,
требующими немедленной передачи прикладной программе.
Петрозаводск
2004