У меня есть простое правило INPUT для iptables, которое записывает любые новые подключения в файл журнала. --log-tcp-options
и --log-ip-options
оба флага установлены, и я получаю соответствующие OPT
вывод.
Одна строка моего журнала выглядит примерно так:
29 ноября 17:00:00 IN = venet0 OUT = MAC = SRC = xxxx DST = xxxx LEN = 64 TOS = 0x00 PREC = 0x00 TTL = 53 ID = 37898 DF PROTO = TCP SPT = 57755 DPT = 8888 WINDOW = 65535 RES = 0x00 SYN URGP = 0 ОПТ (0204057D010303010101080A3E521D4D0000000004020000)
Я хотел бы понять, как интерпретировать OPT
строка (жирный шрифт).
RFC 791 определяет протокол IPv4. В разделе 3.1, начиная со страницы 15, дается объяснение OPTIONS
поле.
Источник : RFC 791
0204057D010303010101080A3E521D4D0000000004020000
Из учебного пособия sans.org,
первые 2 байта (0x0204) 04 - is-length 02 означает флаг MSS
следующие 2 байта (0x057D) - это значение сегмента максимального размера (MSS)
следующий байт (0x01) не используется
следующие 2 байта (0x0303) указывают, что масштабирование окна включено
3 байта ("010101") не используются (заполнение AKA)
2 следующих байта ("080a") отмечают значение отметки времени
4 следующих байта (("0x3E521D4D00000000") - дата и время 5 * 2 байта
4 следующих байта ("0402") sAck Ok
Главный документ: ftp://ftp.ietf.org/iana/tcp-parameters/tcp-parameters.xml
Другие: http://tools.ietf.org/html/draft-ietf-tcpm-tcp-security-03
http://www.ietf.org/mail-archive/web/tcpm/current/msg03199.html
для юмора! : http://tools.ietf.org/html/rfc5841
Это часть параметров заголовка TCP.
Смотреть Вот для получения подробной информации.