C Where can I learn Very low level networking in C for making own hacking tools ? ( All books and PDF's are focused only on TCP/IP. Not on L2)

I want to be a elite hacker not an script kiddie. All online course and PDF's a are teach how to use hacking tools ( like nmap, metaspolit..etc ) they don't teach how that tool works and how to make those tools. So where can I learn to make own port scanner by using raw socket and packet crafting like nmap and where can I learn to make own expolits ? -Thanks in advance and sorry for bad english :(


I want to be a elite hacker
I could offer you being discordian pope instead? *scnr*
hacking tools ( like nmap, metaspolit..etc ) they don't teach how that tool works and how to make those tools.
These are open source, so, read the source? Also, a quick web search for "BSD raw sockets" shows lots of stuff on first page that looks relevant.
Oh, hacking has not necessarily something criminal in it. There are white hat hackers who pentest with consent.

On topic: Hackers don't ask such questions. They find the info on their own.
You joined today and this is your very first post. Sounds like trolling to me.

You need to understand how things work and how they interact with each other. There are many layers to understand. More you know, less you know (that's how I feel about this topic anyway). There's no single point of documentation that would answer your question.

To use raw socket you need to understand what socket is. How OS is dealing with it. Understand the OSI model. Be familiar with the C and debugging tools, platform specific assembler is almost a must too.
Start small and work your way up. Google is your friend.

There are open game servers hosting challenges for public where you can build up your skills. Some of them are pwn oriented, some are web, crypto, etc. While personally I don't know any games strictly related to networking you could try googling for that. My first google find: network academy.

And of course hackers are not /necessarily/ criminals.
  • Like
Reactions: mer
Take a look at the source for ping. It composes an ICMP packet to send over a raw socket. See V4 and V6 versions:


Indeed it is. Or was, until the gutter {press,government} siezed upon the term to describe 'crackers'.

Great piece. Gotta love "Society for Creative Anachronism".

W. Richard Stevens provides a great place to start learning about TCP/IP and network programming.

Even just the references are awesome, and his personal potted history; a contempory of mine to a year or so, but a compulsive chronicaliser.

I learned a lot from Craig Hunt's "TCP/IP Network Administration" (the O'Reilly 'Crab' book) back then.
Indeed it is. Or was, until the gutter {press,government} siezed upon the term to describe 'crackers'.
I believe 'cracker' is still someone who removes DRM protection and other planned obsolecence technology from software. This is still quite honorable and in many countries, completely legal.

I find Beej's networking guide to be a very good resource. Particularly for the non-blocking sockets stuff.



I was a member of a C64 cracking group (and I might re-join it if private life permits it again, but that's not the point).

I can tell you, cracking in its original meaning was indeed illegal. It was about removing copy-protection code and releasing the result. Back then, good "game cracks" also added goodies, like meaningful "trainer" modes.

Nowadays, cracking got redefined, at least in the C64 scene. If you can't deliver at least one "trainer", it's not a good crack. And copy-protections are a thing from the past anyways. So, "cracking" moved from "clearly illegal" to "shady areas" :cool:.

In that context, it makes sense to refer to "hackers" doing illegal stuff as "crackers".