├── .gitignore ├── README.md ├── chapter1 ├── Makefile ├── log.h ├── main.cpp ├── net.cpp └── net.h ├── chapter2 ├── Makefile ├── arp.cpp ├── arp.h ├── config.cpp ├── config.h ├── ethernet.cpp ├── ethernet.h ├── ip.cpp ├── ip.h ├── log.h ├── main.cpp ├── my_buf.h ├── net.cpp ├── net.h ├── utils.cpp └── utils.h ├── chapter3 ├── Makefile ├── arp.cpp ├── arp.h ├── config.cpp ├── config.h ├── ethernet.cpp ├── ethernet.h ├── icmp.cpp ├── icmp.h ├── ip.cpp ├── ip.h ├── log.h ├── main.cpp ├── my_buf.h ├── net.cpp ├── net.h ├── utils.cpp └── utils.h ├── chapter4 ├── Makefile ├── arp.cpp ├── arp.h ├── binary_trie.h ├── config.cpp ├── config.h ├── ethernet.cpp ├── ethernet.h ├── icmp.cpp ├── icmp.h ├── ip.cpp ├── ip.h ├── log.h ├── main.cpp ├── my_buf.h ├── net.cpp ├── net.h ├── utils.cpp └── utils.h ├── chapter5 ├── Makefile ├── arp.cpp ├── arp.h ├── binary_trie.h ├── config.cpp ├── config.h ├── ethernet.cpp ├── ethernet.h ├── icmp.cpp ├── icmp.h ├── ip.cpp ├── ip.h ├── log.h ├── main.cpp ├── my_buf.h ├── nat.cpp ├── nat.h ├── net.cpp ├── net.h ├── utils.cpp └── utils.h ├── netns-prompt.bash ├── netns-scripts ├── chapter1-netns.sh ├── chapter2-netns.sh ├── chapter4-2-netns.sh └── chapter5-netns.sh └── raw_socket_receive.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.o 3 | curo -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/README.md -------------------------------------------------------------------------------- /chapter1/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter1/Makefile -------------------------------------------------------------------------------- /chapter1/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter1/log.h -------------------------------------------------------------------------------- /chapter1/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter1/main.cpp -------------------------------------------------------------------------------- /chapter1/net.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter1/net.cpp -------------------------------------------------------------------------------- /chapter1/net.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter1/net.h -------------------------------------------------------------------------------- /chapter2/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/Makefile -------------------------------------------------------------------------------- /chapter2/arp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/arp.cpp -------------------------------------------------------------------------------- /chapter2/arp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/arp.h -------------------------------------------------------------------------------- /chapter2/config.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/config.cpp -------------------------------------------------------------------------------- /chapter2/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/config.h -------------------------------------------------------------------------------- /chapter2/ethernet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/ethernet.cpp -------------------------------------------------------------------------------- /chapter2/ethernet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/ethernet.h -------------------------------------------------------------------------------- /chapter2/ip.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/ip.cpp -------------------------------------------------------------------------------- /chapter2/ip.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/ip.h -------------------------------------------------------------------------------- /chapter2/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/log.h -------------------------------------------------------------------------------- /chapter2/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/main.cpp -------------------------------------------------------------------------------- /chapter2/my_buf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/my_buf.h -------------------------------------------------------------------------------- /chapter2/net.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/net.cpp -------------------------------------------------------------------------------- /chapter2/net.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/net.h -------------------------------------------------------------------------------- /chapter2/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/utils.cpp -------------------------------------------------------------------------------- /chapter2/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter2/utils.h -------------------------------------------------------------------------------- /chapter3/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/Makefile -------------------------------------------------------------------------------- /chapter3/arp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/arp.cpp -------------------------------------------------------------------------------- /chapter3/arp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/arp.h -------------------------------------------------------------------------------- /chapter3/config.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/config.cpp -------------------------------------------------------------------------------- /chapter3/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/config.h -------------------------------------------------------------------------------- /chapter3/ethernet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/ethernet.cpp -------------------------------------------------------------------------------- /chapter3/ethernet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/ethernet.h -------------------------------------------------------------------------------- /chapter3/icmp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/icmp.cpp -------------------------------------------------------------------------------- /chapter3/icmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/icmp.h -------------------------------------------------------------------------------- /chapter3/ip.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/ip.cpp -------------------------------------------------------------------------------- /chapter3/ip.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/ip.h -------------------------------------------------------------------------------- /chapter3/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/log.h -------------------------------------------------------------------------------- /chapter3/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/main.cpp -------------------------------------------------------------------------------- /chapter3/my_buf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/my_buf.h -------------------------------------------------------------------------------- /chapter3/net.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/net.cpp -------------------------------------------------------------------------------- /chapter3/net.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/net.h -------------------------------------------------------------------------------- /chapter3/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/utils.cpp -------------------------------------------------------------------------------- /chapter3/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter3/utils.h -------------------------------------------------------------------------------- /chapter4/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/Makefile -------------------------------------------------------------------------------- /chapter4/arp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/arp.cpp -------------------------------------------------------------------------------- /chapter4/arp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/arp.h -------------------------------------------------------------------------------- /chapter4/binary_trie.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/binary_trie.h -------------------------------------------------------------------------------- /chapter4/config.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/config.cpp -------------------------------------------------------------------------------- /chapter4/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/config.h -------------------------------------------------------------------------------- /chapter4/ethernet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/ethernet.cpp -------------------------------------------------------------------------------- /chapter4/ethernet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/ethernet.h -------------------------------------------------------------------------------- /chapter4/icmp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/icmp.cpp -------------------------------------------------------------------------------- /chapter4/icmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/icmp.h -------------------------------------------------------------------------------- /chapter4/ip.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/ip.cpp -------------------------------------------------------------------------------- /chapter4/ip.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/ip.h -------------------------------------------------------------------------------- /chapter4/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/log.h -------------------------------------------------------------------------------- /chapter4/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/main.cpp -------------------------------------------------------------------------------- /chapter4/my_buf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/my_buf.h -------------------------------------------------------------------------------- /chapter4/net.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/net.cpp -------------------------------------------------------------------------------- /chapter4/net.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/net.h -------------------------------------------------------------------------------- /chapter4/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/utils.cpp -------------------------------------------------------------------------------- /chapter4/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter4/utils.h -------------------------------------------------------------------------------- /chapter5/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/Makefile -------------------------------------------------------------------------------- /chapter5/arp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/arp.cpp -------------------------------------------------------------------------------- /chapter5/arp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/arp.h -------------------------------------------------------------------------------- /chapter5/binary_trie.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/binary_trie.h -------------------------------------------------------------------------------- /chapter5/config.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/config.cpp -------------------------------------------------------------------------------- /chapter5/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/config.h -------------------------------------------------------------------------------- /chapter5/ethernet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/ethernet.cpp -------------------------------------------------------------------------------- /chapter5/ethernet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/ethernet.h -------------------------------------------------------------------------------- /chapter5/icmp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/icmp.cpp -------------------------------------------------------------------------------- /chapter5/icmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/icmp.h -------------------------------------------------------------------------------- /chapter5/ip.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/ip.cpp -------------------------------------------------------------------------------- /chapter5/ip.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/ip.h -------------------------------------------------------------------------------- /chapter5/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/log.h -------------------------------------------------------------------------------- /chapter5/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/main.cpp -------------------------------------------------------------------------------- /chapter5/my_buf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/my_buf.h -------------------------------------------------------------------------------- /chapter5/nat.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/nat.cpp -------------------------------------------------------------------------------- /chapter5/nat.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/nat.h -------------------------------------------------------------------------------- /chapter5/net.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/net.cpp -------------------------------------------------------------------------------- /chapter5/net.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/net.h -------------------------------------------------------------------------------- /chapter5/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/utils.cpp -------------------------------------------------------------------------------- /chapter5/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/chapter5/utils.h -------------------------------------------------------------------------------- /netns-prompt.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/netns-prompt.bash -------------------------------------------------------------------------------- /netns-scripts/chapter1-netns.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/netns-scripts/chapter1-netns.sh -------------------------------------------------------------------------------- /netns-scripts/chapter2-netns.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/netns-scripts/chapter2-netns.sh -------------------------------------------------------------------------------- /netns-scripts/chapter4-2-netns.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/netns-scripts/chapter4-2-netns.sh -------------------------------------------------------------------------------- /netns-scripts/chapter5-netns.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/netns-scripts/chapter5-netns.sh -------------------------------------------------------------------------------- /raw_socket_receive.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kametan0730/interface_2022_11/HEAD/raw_socket_receive.cpp --------------------------------------------------------------------------------