dxq-git / tapip Goto Github PK
View Code? Open in Web Editor NEWThis project forked from chobits/tapip
user-mode TCP/IP stack based on linux tap device
This project forked from chobits/tapip
user-mode TCP/IP stack based on linux tap device
=========== You should know that some source code in this project is = WARNING = not a best practice and immature. =========== -- 2015/10/28 + What is tapip? A user-mode TCP/IP stack based on linux tap device + Dependence? linux tun/tap device (/dev/net/tun exists if supported) pthreads + How to run? Quick start: $ make # ./tapip (run as root) [net shell]: ping 10.0.0.2 (ping linux kernel TCP/IP stack) (waiting icmp echo reply...) [net shell]: help (see all embedded commands) ... More information for hacking TCP/UDP/IP/ICMP: See doc/net_topology, and select a script from doc/test to do. + Socket Api? _socket,_read,_write,_send,_recv,_connect,_bind,_close and _listen are provided now. Three socket types(SOCK_STREAM, SOCK_DGRAM, SOCK_RAW) can be used. You can use these apis to write applications working on tapip. Good examples are app/ping.c and app/snc.c. + How to implement? I refer to xinu and Linux 2.6.11 TCP/IP stack and use linux tap device to simulate net device(for l2). A small shell is embedded in tapip. So this is just user-mode TCP/IP stack :) + Any use? A toy! Tapip makes it easy to hack TCP/IP stack, just compiling it to run. It can also do some network test: arp snooping, proxy, and NAT! I think the most important is that tapip helps me learn TCP/IP, and understand linux TCP/IP stack. + Author? Xiaochen Wang <[email protected]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.