tcpdump: связь с сервером клиента - PullRequest
0 голосов
/ 23 мая 2018

Я фиксирую связь между сервером и клиентом с помощью tcpdump -X.Я заметил образец, и я не уверен, что полностью понимаю его.В следующем я заменил все данные заголовка (IP и TCP, оба по 20 байтов, таким образом полезная нагрузка начинается с третьей строки и пятого гекса в каждом пакете ) с X и, соответственно, все ascii с точками,Но вы можете прочитать полезную нагрузку, на которую будет ссылаться мой вопрос.

Ниже вы видите точную картину, которая происходит каждые ~ 15 секунд между сервером и клиентом.Если вы преобразуете «0500 0000 0000» ( полезная нагрузка первого пакета ) из шестнадцатеричного в двоичный формат в десятичный и посмотрите это в таблице ascii, вы заметите, что первое сообщение, которое клиент отправляет на сервер, - это"ENQ".Затем сервер отвечает «06».Опять же, если вы конвертируете эту 06 (hex> двоичная> таблица ascii), вы заметите, что сервер на самом деле говорит «ACK».В третьем пакете клиент отправляет нули (почему ???).После этого наступает тишина, и через 15 секунд этот точный шаблон повторяется.

Итак, вот мои вопросы : Это известный шаблон и для чего он хорош?Должно быть, что-то вроде "эй, ты все еще там, приятель?"связь (пожалуйста, подтвердите, если правда?).Я довольно новичок в изучении сетевого общения.Но почему ENQ идет с завершающими нулями (первый пакет)?Я имею в виду, что ACK (второй пакет) приходит только с 1 байтом, что достаточно и имеет смысл.Я ожидал бы то же самое для ENQ?И почему клиент отправляет нули в третьем пакете, прежде чем шаблон повторяется?Какова цель этого?

10:22:10.579188 IP CLIENT > SERVER
        0x0000:  XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ................
        0x0010:  XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ................
        0x0020:  XXXX XXXX XXXX XXXX 0500 0000 0000       ..............
10:22:10.579360 SERVER > CLIENT
        0x0000:  XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ................
        0x0010:  XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ................
        0x0020:  XXXX XXXX XXXX XXXX 06                   .........
10:22:10.779322 CLIENT > SERVER
        0x0000:  XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ................
        0x0010:  XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ................
        0x0020:  XXXX XXXX XXXX XXXX 0000 0000 0000       ..............

1 Ответ

0 голосов
/ 23 мая 2018

Отредактировано: выглядит как сообщения проверки активности (https://tools.ietf.org/html/rfc1122#page-101),, но обычно это ACK-пакеты без данных или один октет мусорных данных. Ваш пакет заполнен XX, поэтому я не уверен, что это ACK-пакеты,но только один пакет с одним октетом (вероятно) мусорных данных. Не могли бы вы показать свои байты флага в пакетах (байт номер 34)?

Кстати, ИМХО нет пакетов с именем ENQ - запись ENQ вы подразумеваете флагили что-то еще?

Предыдущий ответ: заголовки IP и TCP действительно имеют 20 байтов (обычно), но не забывайте о первых 14 байтах - это заголовок Ethernet, поэтому обычно допустимый заголовок TCP / IP равен 14+ 20 + 20 = 54 байта - ваши пакеты имеют 46 или 41 байт. Это не пакеты TCP. Может быть, эта статья будет вам полезна:
https://www.pacificsimplicity.ca/blog/reading-packet-hex-dumps-manually-no-wireshark

Проверьте заголовок Ethernet, чтобы убедиться, какой типпротокола (байты 13-14 и сравнение с http://standards -oui.ieee.org / ethertype / eth.txt ).

...