Capturing Packets in Your C Program, with libpcap
This article provides an introduction to libpcap, and shows, with examples of source code, how you can use it to create your own packet-sniffing programs. All data on the network travels in the…
Understanding a Kernel Oops!
Understanding a kernel panic and doing the forensics to trace the bug is considered a hacker’s job. This is a complex task that requires sound knowledge of both the architecture you are working…
Joy of Programming: Language Transition Bugs
There are subtle differences between languages like C, C++, Java and C#. Programmers transitioning from one language to another should beware of such differences. When I speak to my Tamil friends in English,…
Device Drivers, Part 2: Writing Your First Linux Driver in the Classroom
This article, which is part of the series on Linux device drivers, deals with the concept of dynamically loading drivers, first writing a Linux driver, before building and then loading it. Shweta and…
Joy of Programming: Why C is a Middle-Level Language!
C has low-level language features disguised as high-level features. We’ll look at two case studies — arrays and functions — to understand what we mean by a “middle-level language”. First, look at some…









