802.1Q VLAN Tagging
Fig. 1 - 802.3 VLAN Tag added to Frame
Outcome: You will become knowledgable on how the ethernet frame is built, and how tools such as scapy can interact with them.
Network Layer
OSI Layer 3
CCNE002.002 Describe IPv4 and IPv6 packet structures
IPv4 Headers
IPv4 Header
Example IPv4 Packet
IPv4 / IPv6 Header Field Comparison
Obj. 4.1, 4.3 through 4.4
IPv6 Headers
IPv6 Header
Example IPv6 Packet
TTL Analysis
Vendors have chosen different values for TTL which can provide insight to which OS family a generated packet is from.
ICMP Headers
ICMP Header
Example ICMP Packet
Review Address Auto Configuration
SLAAC
- APIPA
- Review SLAAC (ICMPv6 messages)
- RFC 4862
Outcome: You will become knowledgable on how the ipv6 and icmp headers are built, and how tools such as scapy can interact with them.
Transport Layer
OSI Layer 4
CCNE002.001 Identify the various packet headers
UDP Headers
UDP Header
Example UDP Datagram
TCP Headers
TCP Header
Example TCP Segment
TCP Flags
TCP Flag Breakout (Binary and Hex)
Operating System Considerations
CCNE001.002 Understanding User space vs Kernel Space for network functions
Discuss basics behind User/Kernel Space
- System Memory: Kernel space vs. User space
- Sockets: Families/Types
- Tools/interaction with sockets
Discuss Network Namespaces
A network namespace is logically another copy of the network stack, with its own routes, firewall rules, and network devices. By default a process inherits its network namespace from its parent. Initially all the processes share the same default network namespace from the init process.
Outcome: You will become more confident of python skills by researching and creating raw sockets to send and encode data in a packet.