summaryrefslogtreecommitdiff
path: root/dissector_netlink.h
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2014-05-28 14:32:10 +0200
committerTobias Klauser <tklauser@distanz.ch>2014-05-28 17:50:29 +0200
commit5f4152b01e17433b29e3f9cc1407b60800b1e0b9 (patch)
tree55eb213e301ede01578bae46683a4a72861f0d9c /dissector_netlink.h
parent98e21eb8633b31b006671735602df08d3f073261 (diff)
netsniff-ng: Add netlink dissector
Add an initial implementation of a dissector to work on netlink messages as received from an nlmon device. Use can use it as follows to monitor netlink traffic to/from the kernel: modprobe nlmon ip link add type nlmon ip link set nlmon0 up netsniff-ng -i nlmon0 ip link set nlmon 0 down ip link del dev nlmon0 rmmod nlmon Fixes: #89 Suggested-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'dissector_netlink.h')
-rw-r--r--dissector_netlink.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/dissector_netlink.h b/dissector_netlink.h
new file mode 100644
index 0000000..185881c
--- /dev/null
+++ b/dissector_netlink.h
@@ -0,0 +1,37 @@
+/*
+ * netsniff-ng - the packet sniffing beast
+ * Copyright 2014 Tobias Klauser.
+ * Subject to the GPL, version 2.
+ */
+
+#ifndef DISSECTOR_NETLINK_H
+#define DISSECTOR_NETLINK_H
+
+#include "protos.h"
+
+extern void dissector_init_netlink(int fnttype);
+extern void dissector_cleanup_netlink(void);
+
+#ifdef HAVE_DISSECTOR_PROTOS
+static inline struct protocol *dissector_get_netlink_entry_point(void)
+{
+ return &nlmsg_ops;
+}
+
+static inline struct protocol *dissector_get_netlink_exit_point(void)
+{
+ return &none_ops;
+}
+#else
+static inline struct protocol *dissector_get_netlink_entry_point(void)
+{
+ return NULL;
+}
+
+static inline struct protocol *dissector_get_netlink_exit_point(void)
+{
+ return NULL;
+}
+#endif /* HAVE_DISSECTOR_PROTOS */
+
+#endif /* DISSECTOR_NETLINK_H */