如何在混杂模式下创建一个tcp套接字?

问题描述:

我想写一个应用程序,将读取从另一个TCP/IP连接镜像的数据。如何在混杂模式下创建一个tcp套接字?

设备A通过tcp/ip连接到机器B并发送数据。发送的数据被复制并从设备A发送到机器C,但具有与之前相同的目标地址(指向B而不是C)。机器C需要读取数据并做它的事情。

我的问题是如何创建一个套接字来做到这一点?我知道我需要在混杂模式中使用它。它需要成为一个RAW套接字吗?获取数据的最佳方式是什么?

机器C将基本上是一个网络嗅探器我猜,但在一个网络上只包含这3个设备。

+0

为什么不使用实际的嗅探库,如pcap?让它处理捕获数据包的细节。 –

+0

因为我是一个noob,我不知道那是什么。 – GreySage

你想使用libpcap抓取原始数据包。运行man 3 pcap以获取所有相关功能的列表。