forked from jiangxianliang/User-TCP-Stack
-
Notifications
You must be signed in to change notification settings - Fork 0
sudoconf/User-TCP-Stack
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
+ 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 <wangxiaochen0@gmail.com>
About
user-mode TCP/IP stack based on linux tap device
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 97.8%
- Makefile 2.1%
- Shell 0.1%