Уровень Tcp Информация о Ec2 - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь получить временную метку TCP из пакетов для искажений часов в моем приложении, которое размещено на EC2. В моей сети есть ALB.

Итак, мой вопрос: как мне получить информацию о пакете уровня TCP в моем приложении? Поскольку ALB отфильтровывает все уровни OSI, кроме уровня приложения (HTTP)

1 Ответ

1 голос
/ 20 марта 2019

Если единственной причиной получения доступа к пакету TCP является обнаружение метки времени и правильное смещение тактовой частоты, я бы предложил настроить ваш экземпляр EC2 для использования сервера времени NTP.
https://aws.amazon.com/blogs/aws/keeping-time-with-amazon-time-sync-service/

При этом ALB не "удаляет" информацию TCP из сетевых пакетов. HTTP-соединения с вашим приложением по-прежнему передаются по IP и TCP. Если вам нужен низкоуровневый доступ к сетевым пакетам из приложения, я бы посоветовал взглянуть на библиотеку pCAP, которая используется TCPDUMP и многими другими инструментами для захвата сетевого трафика на интерфейсе.

https://www.tcpdump.org/

[ОБНОВЛЕНО, чтобы включать комментарии]

Важно понимать, что TCP-соединение между вашим клиентом и ALB прерывается на уровне ALB. ALB создает второе TCP-соединение для пересылки HTTP-запросов вашему экземпляру EC2. ALB не удаляет информацию из TCP / IP, он просто создает второе, независимое и новое соединение. Обычно единственная информация, которую вы хотите распространять из начального TCP-соединения, - это IP-адрес источника. ALB, как и большинство балансировщиков нагрузки и прокси-серверов, получает эту информацию из исходного соединения (полученного от клиента) и встраивает эту информацию в заголовок HTTP с именем X-Forwarded-For.

Это задокументировано на https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html

Если вы хотите получить другую информацию из исходного соединения, я боюсь, что это будет невозможно при использовании ALB. (но мне также было бы очень любопытно узнать о случае использования, т. е. ЧЕГО вы пытаетесь достичь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...