Raw socket programming

View on GitHub View on Pypi Install Usefull Scripts

Important information

This project is created only for educational purposes and can not be used for law violation or personal gain.
The author of this project is not responsible for any possible harm caused by the materials of this project.


This project implements network protocols such as Ethernet ARP IPv4 UDP TCP DHCPv4 ICMPv4 IPv6 DHCPv6 ICMPv6 DNS MDNS on raw socket.

Publications (on russian)


This project was designed specifically to improve the performance and speed of requests needed for network attacks.

On Linux you can compare perfomance of this project with popular python library SCAPY via script

Our testing you can see bellow

Number of Packets 10 100 1000 10000
ARP requests in Scapy (sec) 0,0522048473358 0,0785529613495 0,302206039429 2,95294880867
ARP requests in Raw-packet (sec) 0,00202298164368 0,00270104408264 0,090922832489 1,3037519455
DHCP discover requests in Scapy (sec) 0,397399187088 4,16092181206 39,5892789364 -
DHCP discover requests in Raw-packet (sec) 0,00177597999573 0,0219049453735 0,162989854813 -
DNS requests in Scapy (sec) 0.608256101608 6.05325508118 58.4151289463 -
DNS requests in Raw-packet (sec) 0.00274395942688 0.0127770900726 0.0796978473663 -

Scapy vs. Raw-packet ARP requests

Scapy vs. Raw-packet DHCP discover requests

Scapy vs. Raw-packet DNS requests