Skip to content

abkarada/C_Network_Tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 C Network Tools

This repository is a collection of low-level network utilities written in C, designed to help understand and implement foundational network protocols and tools without relying on external libraries or high-level APIs.

It aims to build core networking skills using raw sockets, manual protocol handling, and custom packet construction.


πŸ“¦ Project Structure

Folder Description
Fingerprinting Tools to identify systems, banners, and open ports (active/passive scan).
Network_Mapping DNS lookup, WHOIS queries, and traceroute-style implementations.
Server-Client Relationship Basic TCP/UDP socket programming for custom client/server applications.

🧠 Key Features (Implemented)

βœ… DNS Lookup
β†’ Send and parse DNS query packets manually to resolve domain names.

βœ… WHOIS Query
β†’ Connect to WHOIS servers and retrieve domain ownership/registration data.

βœ… Traceroute-like Utility
β†’ Send packets with incremental TTL and analyze ICMP replies to trace routes.

βœ… Zone Transfer (AXFR)
β†’ Connect to DNS servers and attempt zone transfers (for educational purposes).

βœ… Custom Server-Client Architecture
β†’ Build minimal TCP/UDP echo and messaging servers using raw socket APIs.


πŸ”­ Planned Features

Category Planned Enhancements
πŸ” Nmap-style Scanning Open port and service discovery using TCP/UDP probes.
πŸ“‘ Protocol Emulation FTP, SMTP, HTTP request parsing and minimal response logic.
🧠 DNS Expansion Reverse DNS lookups, MX record retrieval, and custom resolver logic.
πŸ§ͺ Packet Analysis Raw packet sniffing with custom filters (no libpcap).
πŸ“Ά ARP/ICMP Tools ARP spoofing, ping utilities, and spoofed ICMP packet creation.

πŸš€ How to Build and Run

+---------+ TTL=1 +--------+ TTL=2 +---------+ | Your PC | ---------------> | Router | ---------------> | Gateway | +---------+ (ICMP) +--------+ (ICMP) +---------+ | ↑ ↑ β””-------> Receives ICMP TTL Exceeded <---------------β”˜

  1. Clone the repository:
git clone https://github.com/abkarada/C_Network_Tools.git
cd C_Network_Tools
gcc Network_Mapping/dns_lookup.c -o dns_lookup
./dns_lookup example.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages