使用 tcpdump 记录通过路由器服务器的所有网络活动

使用 tcpdump 记录通过路由器服务器的所有网络活动

我想以这种格式收集我的家庭设备(笔记本电脑、电话等)与外界之间的所有网络通信日志:

Timestamp / Device MAC Address / Source IP:Port / Destination IP:Port / Protocol (Internet/Transport Layers) / Amount of data in bytes

这个想法是设置一个物理 Linux 盒子(“日志服务器”)仅用于日志记录并tcpdump在其上运行:

Internet ⟺ Logging Server ⟺ Wi-Fi/Ethernet Switch ⟺ Devices

(该盒子将有两个以太网接口 - 用于互联网连接和本地交换机)。

假设我负责处理日志文件(轮换、解析、馈送到报告工具),tcpdump命令会是什么样子?

需要明确的是,我知道这个问题很可能可以通过挖掘手册页来回答;我只是想利用某人的丰富经验来tcpdump节省时间,避免常见错误等。

PS 这样做的主要目的是监视/调查潜在存在的后门或其他不需要/意​​外的网络活动。

答案1

tcpdump -n -e -q -i any

和:

  • -n:不要将地址转换为名称(这尤其会阻止tcpdump进行反向 DNS 查找)
  • -e:在每个转储行上打印链接级标头(特别是 mac 地址)。与 配合使用-i any,您将需要它来重新确定传入/传出网络接口。
  • -q:打印更少的协议信息,因此输出行更短
  • -i any:该any关键字可用于抓包所有接口

请注意,上述命令给出的长度是有效负载长度。如果您还需要数据包长度,请删除“-q”选项。

相关内容