2

好的,所以这听起来可能非常邪恶,但我的高级项目需要这样的能力。本质上,我的任务是编写一些东西,通过数据包拦截和评估系统来减少僵尸电脑上的出站垃圾邮件。我们有许多算法将用于捕获的消息,但它是实际的捕获——完全是拦截而不是嗅探——让我有点难过。

该应用程序是为 Windows 设计的,所以我不能使用 IP 表。我可以使用 winpcap 库,但如果不需要,我不想重新发明轮子。Ettercap 似乎是一个不错的选择,但使用非官方二进制文件在 vista 上运行测试只会导致崩溃。

那么,有什么建议吗?

更新:很棒的建议。最终缩小了项目规模,但仍然获得了 A。我认为 Adam Mintz 的答案可能是最好的,尽管我们在应用程序中使用了 WinPcap 和 Wireshark。

4

8 回答 8

2

听起来您需要编写一个Winsock LSP

一旦进入堆栈,分层服务提供者就可以拦截和修改入站和出站 Internet 流量。它允许处理发生在 Internet 和访问 Internet 的应用程序之间的所有 TCP/IP 流量。

于 2008-09-17T05:56:18.597 回答
0

有人会认为Wireshark会解决您的问题 - 无需麻烦安装且非常易于使用。

编辑:啊,我现在看到拦截要求与只是嗅探..在这种情况下,仅 Wireshark 不会削减它。可能在 Windows 上相当于 iptables 的任何东西。

于 2008-09-17T05:55:56.070 回答
0

DSNIFF包具有 mailsnarf 实用程序它也可以抓取 POP3。那里还有各种其他美妙的嗅探工具。在使用这些工具之前,请确保您拥有合法权利(拦截他人流量的合法权利)。我相信文档中有更多关于合法性的信息。根据网页,也有 Windows 和 Mac OS X 端口。

分析程序的文本输出不会太难。

于 2008-09-17T06:02:01.470 回答
0

Ilkka:我在看 Wireshark,但据我所知,它并没有处理拦截方面——只有嗅探和日志记录。教授正在寻找的东西是防止垃圾邮件进入网络。

Adam: I'll definitely look into Winsock. I haven't checked that out yet. Only thing is the app's due in about 2 months, so if there are any OS apps that build off the WinSock SPI, I might want to tie into those. Know of any off the top of your head?

于 2008-09-17T06:02:39.640 回答
0

Thanks, CDV. I'll look into that as well. Good call about the legality check. I've actually been trying to use gnu public license projects so far.

于 2008-09-17T06:05:00.807 回答
0

I agree that Wireshark might be all you need. If you want to write your own filter application and can use Vista, then check out the Windows Filtering Platform.

于 2008-09-17T06:11:05.720 回答
0

tcpdump if you need command line or something more visual like wireshark

If you want to write something on your own use libpcap.

于 2008-09-17T11:03:03.337 回答
0

Use Snort, stripped down, if this is a long-term thing. It's built to watch for particular packets flying by, examining payload where needed, recording data and launching alerts.

It's intended for intrusion detection, but it makes a surprisingly good network monitor for particular things over long term use.

于 2008-09-17T20:07:54.697 回答