Ihr Problem

Sie wollen Netzwerkverkehr mit Hilfe des Programms tcpdump mithören, bekommen aber folgende Fehlermeldung:

root@linux# tcpdump -n tcp port 22
tcpdump: socket: Address family not supported by protocol

Die Ursache

Das Kernelmodul af_packet ist nicht geladen. Dies implementiert Raw-Sockets, mit denen man an TCP/IP vorbei direkt auf eine Netzwerkkarte zugreifen kann. Und genau das benötigt tcpdump.

Normalerweise wird das Modul automatisch geladen. Wenn das Modul aber fehlt oder die Modulabhängigkeiten nicht bekannt sind (depmod -a nicht ausgeführt wurde), kann es zu diesem Zustand kommen.

Die Lösung

Aktualsieren Sie evtl. Ihre Modulabhängigkeiten und laden dann das Modul von Hand:

root@linux# depmod -a
root@linux# modprobe af_packet

Kontrollieren Sie ggfls., ob das Modul vorhanden ist:

root@linux# find /lib/modules -name "af_packet*"
/lib/modules/2.6.13-15-default/kernel/net/packet/af_packet.ko

Wenn modprobe nicht funktioniert, können Sie versuchen, das Modul mit insmod direkt zu laden:

root@linux# insmod /lib/modules/2.6.13-15-default/kernel/net/packet/af_packet.ko

Wissensbank Linux

Diese Artikel wurden vom Gründer von Checkmk vor vielen Jahren geschrieben. Sie sind immer noch gültig und haben deshalb weiterhin ihr Zuhause auf dieser Webseite. Mathias hat in der Zwischenzeit die Monitoringlösung Checkmk entwickelt

Mehr zu Checkmk