Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/joexbayer/networking_c

MacOS TAP Ethernet interface that responds ICMP, UDP over IPv4.
https://github.com/joexbayer/networking_c

networking

Last synced: 8 days ago
JSON representation

MacOS TAP Ethernet interface that responds ICMP, UDP over IPv4.

Awesome Lists containing this project

README

        

# Networking code for macOS with Tun/Tap

## Using TAP as a network interface to read and write packets.

### UDP
![alt text](https://github.com/joexbayer/Networking_c/blob/main/pictures/udp.png?raw=true)

### ARP
![alt text](https://github.com/joexbayer/Networking_c/blob/main/pictures/arp.png?raw=true)

![alt text](https://github.com/joexbayer/Networking_c/blob/main/pictures/arp_table.png?raw=true)

### ICMP
![alt text](https://github.com/joexbayer/Networking_c/blob/main/pictures/icmp_cli.png?raw=true)

![alt text](https://github.com/joexbayer/Networking_c/blob/main/pictures/icmp_wireshark.png?raw=true)

Currently working:

Parsing Ethernett Packets.


Accepting and parsing IPv4 packets.


Calculate checksum based on RFC 1071 #4.1.


Using a sk_buff.


Configurable net device with IP and MAC.


Parsing ICMP and responding ping.


Printing UDP messages from netcat.


Parsing ARP, sending ARP reply and saving ARP cache

For TAP on MacOS: TunTap

Inspired by:
Linux Network Stack and
Networking History