I learned the hard way that modern Windows machines do not permit sending TCP data over raw sockets after trying to perform the TCP handshake myself in Python. And yet Scapy, a Python library, is able to do it seemingly just fine. Other libraries, like Npcap and WinPcap, also seem to be able to send raw TCP data just fine on Windows. How is this possible? What are these libraries doing under the hood that enables them to bypass this limitation?
How do libraries like Scapy, Npcap, WinPcap, etc., get around Window's limitations on sending raw TCP packets?
333 Views Asked by noG23 At
1
There are 1 best solutions below
Related Questions in SCAPY
- Python uses the scapy library to read the wireshark packet capture file and then writes a new file and it cannot be displayed
- TimeStamp on ICMP on Scapy (Python)
- BLE SMP packets sniffing using scapy python
- Can scapy errors be removed in exe created by pyinstaller?
- modifying sent and received packets on my machine using scapy
- Python: Get TCP session data on-fly with scapy
- scapy custom source address shows failure
- how to perform a Ping flood attack / ICMP flood attack demonstration?
- Monitor mode / packet injection not working
- Why does Scapy cause network to stop working?
- How to packet forward in python using scapy (or other modules if it isn't possible)
- Distributing Scapy in a Python Virtual Environment
- What is the fastest way to get the start and end times of a pcap log file?
- Fragmented packets reception delayed using Scapy
- Problems with forging ICMP "Fragmentation needed, but DF bit set"
Related Questions in WINPCAP
- Buffer Size Issue with Npcap in Windows 10 using pcap.h in C++
- Winpcap performance, how to receive huge amount of data?
- How to set a filter to get "Modbus/TCP" data in SharpPcap?
- Npcap bridge between router and fiber optic modem
- Send/sniff packets on Windows without winpcap/npcap using Python?
- How do libraries like Scapy, Npcap, WinPcap, etc., get around Window's limitations on sending raw TCP packets?
- Wincap help in Qt Creator
- Packet Sniffer using winpcap missing some packets
- error: Working with pcap crate in rust on Windows
- winPcap 4.1.3 install manually with Powershell for GNS3-gui (windows)
- usbipd: warning: USB filter 'USBPcap' is known to be incompatible with this software; 'bind --force' will be required
- Where is pcap_open() function? [C++][WinPcap]
- WinPcap equivalent to Wireshark 'dtls' filter
- pcap_getnonblock() returns -3
- Winpcap program runs with MinGW but not with MSVC 2015 in Qt
Related Questions in NPCAP
- Buffer Size Issue with Npcap in Windows 10 using pcap.h in C++
- Rust pcap lib download "Windows"
- libpcap doesn't do anything (Windows)
- I get error 31 when using pcap_sendpacket with real Wi-Fi device, but it works fine with loopback
- Npcap bridge between router and fiber optic modem
- npcap sending raw packets in virtual machine allways fail ,how to fix it?
- Win32 Raw Ethernet Programming / NPCap
- Hardware Timestamping Intel x550 and Npcap
- How do libraries like Scapy, Npcap, WinPcap, etc., get around Window's limitations on sending raw TCP packets?
- How to send packet without link-layer header using Npcap?
- Npcap Async Sniffer
- how to count the ipv4 tcp and udp using npcap in c++?
- what is the optimize argument in pcap_compile( , , , int optimize, ) in npcap library?
- unable to install npcap: failed to create the npcap service: 0x80070005
- Use scapy with npcap on Windows
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
WinPcap (the windows implementation of libpcap) authors say in their website:
So the answer to your question would be: in windows, the implementation of libpcap (which is what Scapy uses according to their site) uses a driver to get access to the low-level networking stuff