我非常想知道我的电脑上的应用程序会向互联网发送什么信息。有没有办法记录所有(!)传出的数据(包括内容 - 使用该连接发送的内容)?理想情况下,这些记录将存储在数据库/文件中,其中包含我在这边使用的端口、指向的 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 数据库的程序。
另一个监控可疑流量的程序是呼噜