我想以这种格式收集我的家庭设备(笔记本电脑、电话等)与外界之间的所有网络通信日志:
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”选项。