Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过解析流量检测TCP连接 < >我在Windows 7上运行了一个C++程序,它捕获所有网络层的流量并将其注入Windows网络栈。 现在,我需要跟踪每个正在进行的tcp会话/连接,并将每个tcp数据包(入站和出站)分配给其中一个连接。 检测新连接的开始并不难。我只需要扫描每个tcp数据包并检查其SYN标志是否已设置。 但是,我不太确定如何处理连接的结束,我有三个问题:_C++_Windows_Sockets_Tcp_Connection - Fatal编程技术网

通过解析流量检测TCP连接 < >我在Windows 7上运行了一个C++程序,它捕获所有网络层的流量并将其注入Windows网络栈。 现在,我需要跟踪每个正在进行的tcp会话/连接,并将每个tcp数据包(入站和出站)分配给其中一个连接。 检测新连接的开始并不难。我只需要扫描每个tcp数据包并检查其SYN标志是否已设置。 但是,我不太确定如何处理连接的结束,我有三个问题:

通过解析流量检测TCP连接 < >我在Windows 7上运行了一个C++程序,它捕获所有网络层的流量并将其注入Windows网络栈。 现在,我需要跟踪每个正在进行的tcp会话/连接,并将每个tcp数据包(入站和出站)分配给其中一个连接。 检测新连接的开始并不难。我只需要扫描每个tcp数据包并检查其SYN标志是否已设置。 但是,我不太确定如何处理连接的结束,我有三个问题:,c++,windows,sockets,tcp,connection,C++,Windows,Sockets,Tcp,Connection,1.)结束tcp连接的常用方法是使用FIN标志进行4路握手。在第一个发送FIN数据包的一方收到另一方的最终ACK后,它需要等待一定的时间,直到连接最终终止。这个超时应该是多长时间?这是特定于Windows的超时时间吗 2.)当一侧崩溃,因此无法发送FIN数据包时,我应该如何检测发生的半开放连接 3.)是否有可能询问Windows某个连接是否仍处于活动状态?“是否有可能询问Windows某个连接是否仍处于活动状态”我对此表示怀疑。1)是否可配置,是否可动态配置。2)这里是一个关于检测半开条件的好讨

1.)结束tcp连接的常用方法是使用FIN标志进行4路握手。在第一个发送FIN数据包的一方收到另一方的最终ACK后,它需要等待一定的时间,直到连接最终终止。这个超时应该是多长时间?这是特定于Windows的超时时间吗

2.)当一侧崩溃,因此无法发送FIN数据包时,我应该如何检测发生的半开放连接


3.)是否有可能询问Windows某个连接是否仍处于活动状态?

“是否有可能询问Windows某个连接是否仍处于活动状态”我对此表示怀疑。1)是否可配置,是否可动态配置。2)这里是一个关于检测半开条件的好讨论:(也涉及3)这是因为Windows API而标记的C和C++吗?我觉得这个问题与C无关,也不与C++有关。@ OLK——OP很清楚地说这与C++程序有关,有一个有趣的标签战。我选择@alk,Windows而不是C。我想知道为什么链接到Microsoft页面的评论员paulsm4删除了Windows标签。