1. Включаем роутер DI-804, прошивка 1.40 (просто сейчас под рукой именно этот, решил проверить, был ли этот глюк на старой прошивке?), сбасываем его Reset-ом 15 секунд. Назначаем WAN Static IP 192.168.14.140, отключаем UPnP.
2. Хост в сети LAN получил адрес по DHCP - 192.168.0.104
3. Включаем его в сеть, замкнув WAN и LAN на хаб, чтобы одним снифером сразу сниферить трафик в обеих сетях (для простоты и удобства, кроме того так чётко видна последовательность пакетов на разных интерфейсах роутера)
4. На хосте 192.168.0.104 набираем
http://www.ru - результат снифа обоих интерфейсов см. в файле Packet0.csv
5. В запрошенных URL находим counter.rambler.ru, заносим его URL Blocking.
6. Повторяем, на хосте 192.168.0.104 набираем
http://www.ru - результат снифа обоих интерфейсов см. в файле Packet1.csv
Покажу собственно суть:
Смотрим соединение от хоста на запрос URL-a
http://counter.rambler.ru/top100.cnt?117, вот его TCP-stream:
Endpoint 1: IP address = 192.168.0.104, TCP port = 3039
Endpoint 2: IP address = 81.19.66.19, TCP port = 80
GET /top100.cnt?117 HTTP/1.1
Host: counter.rambler.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.

Gecko/20050511 Firefox/1.0.4
Accept: image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://www.ru/eng/index.html
Cookie: ruid=JDz2BQGxrUKUAAAAAdgG21B=
HTTP/1.0 301 Moved
Location:
http://192.168.0.1:80/block.htm
Как видим, DI-804 ответил вместо "сервера" - HTTP/1.0 301 Moved, Location:
http://192.168.0.1:80/block.htm
Теперь смотрим то же самое в пакетном виде:
Это tcp-соединение от хоста до веб-сервера перед роутером, то есть в сегменте LAN:
No. Source Destination Summary
40 192.168.0.104:3039 81.19.66.19:http Seq=0785117764,Ack=0000000000,F=....S.
52 81.19.66.19:http 192.168.0.104:3039 Seq=3352889874,Ack=0785117765,F=.A..S.
53 192.168.0.104:3039 81.19.66.19:http Seq=0785117765,Ack=3352889875,F=.A....
55 192.168.0.104:3039 81.19.66.19:http Seq=0785117765,Ack=3352889875,F=.A....,GET /top100.cnt?117 HTTP/1.1 (здесь в сохранённых файлах не уазаны SEQ/ACK, вручную скопировал из снифера)
56 81.19.66.19:http 192.168.0.104:3039 Seq=3352889875,Ack=0785118185,F=.A...F,HTTP/1.0 301 Moved (здесь в сохранённых файлах не уазаны SEQ/ACK, вручную скопировал из снифера)
57 192.168.0.104:3039 81.19.66.19:http Seq=0785118185,Ack=3352889941,F=.A....
58 192.168.0.104:3039 81.19.66.19:http Seq=0785118185,Ack=3352889941,F=.A...F
85 81.19.66.19:http 192.168.0.104:3039 Seq=3352889875,Ack=0785117765,F=.A....
86 192.168.0.104:3039 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
87 81.19.66.19:http 192.168.0.104:3039 Seq=3352889875,Ack=0785117765,F=.A....
88 192.168.0.104:3039 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
101 81.19.66.19:http 192.168.0.104:3039 Seq=3352889875,Ack=0785117765,F=.A....
102 192.168.0.104:3039 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
104 81.19.66.19:http 192.168.0.104:3039 Seq=3352889875,Ack=0785117765,F=.A....
105 192.168.0.104:3039 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
114 81.19.66.19:http 192.168.0.104:3039 Seq=3352889875,Ack=0785117765,F=.A....
......
2012 ......
Это транслированное tcp-соединение от хоста до веб-сервера после роутера, то есть в сегменте WAN (нумерация пакетов абсолютная):
No. Source Destination Summary
42 192.168.14.140:57287 81.19.66.19:http Seq=0785117764,Ack=0000000000,F=....S.
51 81.19.66.19:http 192.168.14.140:57287 Seq=3352889874,Ack=0785117765,F=.A..S.
54 192.168.14.140:57287 81.19.66.19:http Seq=0785117765,Ack=3352889875,F=.A....
59 192.168.14.140:57287 81.19.66.19:http Seq=0785118185,Ack=3352889941,F=.A....
60 192.168.14.140:57287 81.19.66.19:http Seq=0785118185,Ack=3352889941,F=.A...F
79 81.19.66.19:http 192.168.14.140:57287 Seq=3352889875,Ack=0785117765,F=.A....
80 81.19.66.19:http 192.168.14.140:57287 Seq=3352889875,Ack=0785117765,F=.A....
91 192.168.14.140:57287 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
92 192.168.14.140:57287 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
98 81.19.66.19:http 192.168.14.140:57287 Seq=3352889875,Ack=0785117765,F=.A....
99 81.19.66.19:http 192.168.14.140:57287 Seq=3352889875,Ack=0785117765,F=.A....
108 192.168.14.140:57287 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
109 192.168.14.140:57287 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
113 81.19.66.19:http 192.168.14.140:57287 Seq=3352889875,Ack=0785117765,F=.A....
116 192.168.14.140:57287 81.19.66.19:http Seq=0785118186,Ack=3352889941,F=.A....
117 81.19.66.19:http 192.168.14.140:57287 Seq=3352889875,Ack=0785117765,F=.A....
......
2013 ......
Смотрим строку 56 - это ответ DI-804 как реакция на заблокированный URL - он "от своего имени" вернул ответ HTTP/1.0 301 Moved, но при этом указал Ack=0785118185, то есть подтверждение приёма 420 байт, также он установил признак Fin. Но в данный момент времени веб-сервер не получил от клиента ни одного байта и его SN (seq number) находится в состоянии 0785117765.
После этого, в строке 57 хост квитирует приём, указывая пакет и подтвержает закрытие соедиения (строка 58).
Однако DI-804 теперь уже не вмешивается в сессию и транслирует эти 2 пакета (в которых уже используются новые значения SN) дальше в сторону веб-сервера - строки 59 и 60.
Однако, "обиженный" веб-сервер, неполучивший порцию данных отвечает ему квитанцией только на Ack=0785117765.
А клиент продолжает попытки завершить соединение с Seq=0785118186. В это время на клиенте TCP-соединение находится в состоянии LAST_ACK.
И так примерно 450 пакетов туда + 450 обратно, 64(Eth)-14=50(IP) байт каждый. Итого, примерно, 22.5 КБ IP-данных. И это далеко не самый длинный хвост - иногда кол-во этих "хвостовых" пакетов достигает тысяч...