记录计算机的所有传出连接

记录计算机的所有传出连接

我非常想知道我的电脑上的应用程序会向互联网发送什么信息。有没有办法记录所有(!)传出的数据(包括内容 - 使用该连接发送的内容)?理想情况下,这些记录将存储在数据库/文件中,其中包含我在这边使用的端口、指向的 ip:port、连接打开和关闭的时间以及发送的内容。这可能吗(并且可靠)?

我正在运行 Windows 8.1,可以访问我的无线路由器。


编辑:日志不必特别方便用户使用。我是程序员。

答案1

如果你想真正地登录全部流量包括可能通过 rootkit 或其他恶意程序隐藏的流量,您需要在外部执行此操作。如果您的 wifi 路由器有替代固件,如 openwrt 或 tomato,那么您可以在其上运行 tcpdump 并将结果转发回您的计算机或另一台计算机。根据固件,您可能能够使用文件共享,例如 CIFS 或 samba。

tcpdump -i eth0 -s 2000 -w 输出文件

或者

tcpdump -i eth0 -s 2000 -A

注意:根据浏览习惯,这很容易生成 GB 或 TB 的日志。

我设置了一台 PC 作为防火墙,它有 2 个网卡,并在内部网络上放置了一个交换机,这样我就可以拥有多个设备。考虑到互联网的性质,即使记录稍微可疑的流量也会生成大量的日志文件。

由于您是一名程序员,您可以编写一个利用 libpcap 和 libmysql 直接登录到 mysql 数据库的程序。

另一个监控可疑流量的程序是呼噜

相关内容