捕获发往特定 IP 和端口的网络数据包,并将其存储在队列中

本文关键字:数据包 存储 队列 网络 IP | 更新日期: 2023-09-27 17:56:51

我想知道如何捕获发往某个IP和端口的网络数据包,并在到达应用层之前将它们存储在队列中。稍后根据条件,我想将数据包取消排队并将它们发送到上层或销毁数据包。是否可以使用 C# 在 .NET 框架中

捕获发往特定 IP 和端口的网络数据包,并将其存储在队列中

你需要

一个代理来做到这一点,它将充当"中间人"

只需运行 ettercap 或 tcpdump。然后,如果你愿意,你可以使用wireshark来检查数据包,或者如果你愿意,你可以用你喜欢的任何语言编写自己的程序来处理原始数据。

执行此操作的一种方法是(在使用虚拟的现代 Linux 系统上)配置 iptables 以将数据包重新路由到不同的 IP 地址(例如 127.x.x.x 地址)编写一个应用程序来捕获/任何这些数据包,然后稍后重新发送它们。 您可能需要在虚拟机中运行真正的应用程序...并在虚拟网络层中做 iptable 欺骗......以便真正的应用程序可以通过侦听"真实"IP地址来获取内容。

但它会是混乱和复杂的...并且可能容易丢弃数据包和 VM 稳定性不良。