Table of Contents
1. How to Avoid Writing Kernel Modules, For Fun and Non-Profit
2. Why write a kernel module?
3. Why not write a kernel module?
4. How this talk came about
5. There are times when this is the right approach
6. Method I: LD_PRELOAD
7. Hijacking functions with LD_PRELOAD
8. Hijacking functions with LD_PRELOAD (II)
9. Real World LD_PRELOAD Examples
10. Real World LD_PRELOAD Examples (II)
11. Real World LD_PRELOAD Examples (III)
12. Real World LD_PRELOAD Examples (IV)
13. Disadvantages of LD_PRELOAD
14. Method II: Exporting File Systems via NFS
15. Method III: Extending iptables with libipq
16. iptables libipq: DNS payload inspection
17. iptables libipq: DNS payload inspection (II)
18. iptables libipq: Customizing REJECT packets
19. iptables libipq: Customizing REJECT packets (II)
20. iptables libipq: Customizing REJECT packets (III)
21. iptables libipq: Customizing REJECT packets (IV)
22. Method IV: The TUN/TAP Driver
23. In Closing...