我想以这种格式收集我的家庭设备(笔记本电脑、手机等)与外界之间所有网络通信的日志:
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 这样做的主要目的是监视/调查可能存在的后门或其他不需要/意外的网络活动。
tcpdump -n -e -q -i any
和:
-n
:不要将地址转换为名称(这会显着防止tcpdump
进行反向 DNS 查找)-e
:在每个转储行(特别是 mac 地址)上打印链接级标头。与 配合使用-i any
,您将需要它来重新确定传入/传出网络接口。-q
:打印更少的协议信息,因此输出行更短-i any
:该any
关键字可用于捕获来自所有接口的数据包请注意,上述命令给出的长度是有效载荷长度。如果您还需要数据包长度,请删除“-q”选项。