0

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

4

3 回答 3

1

您需要一个代理来执行此操作,它将充当“中间人”

于 2013-02-01T07:11:38.263 回答
0

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

但这将是混乱和复杂的……并且可能容易丢包和 VM 稳定性问题。

于 2013-02-01T07:51:24.427 回答
0

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

于 2013-02-01T09:00:39.400 回答