关于Ec2的Tcp级别信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Ec2的Tcp级别信息相关的知识,希望对你有一定的参考价值。
我正在尝试从我的应用程序(在EC2上托管)中获取时钟偏移目的的数据包的TCP时间戳。在我的网络中,我有一个ALB。
所以我的问题是如何在我的应用程序中获取TCP级别的数据包信息?由于ALB过滤掉除应用程序级别(HTTP)之外的所有OSI层
如果访问TCP数据包的唯一原因是检测时间戳并纠正时钟漂移,我建议将EC2实例配置为使用NTP时间服务器。 https://aws.amazon.com/blogs/aws/keeping-time-with-amazon-time-sync-service/
话虽这么说,ALB并没有从网络数据包中“删除”TCP信息。与应用程序建立的HTTP连接仍然通过IP和TCP传输。如果您需要从应用程序对网络数据包进行低级访问,我建议您查看TCPDUMP使用的pCAP库以及许多其他工具来捕获接口上的网络流量。
[更新包括评论]
了解客户端与ALB之间的TCP连接在ALB级别终止非常重要。 ALB创建第二个TCP连接以将HTTP请求转发到您的EC2实例。 ALB不会从TCP / IP中删除信息,它只是创建第二个独立的新连接。通常,您希望从初始TCP连接传播的唯一信息是源IP地址。与大多数负载平衡器和代理一样,ALB从原始连接(从客户端接收的连接)捕获此信息,并将信息嵌入名为X-Forwarded-For
的HTTP头中。
这在https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html记录
如果您想从原始连接中捕获其他信息,恐怕无法使用ALB。 (但我也会对用例非常好奇,即你想要实现的目标)
以上是关于关于Ec2的Tcp级别信息的主要内容,如果未能解决你的问题,请参考以下文章