77 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Location definitions for packet matching
 | |
| #
 | |
| 
 | |
| # name		alignment	offset		mask		shift
 | |
| ip.version	u8		net+0		0xF0		4
 | |
| ip.hdrlen	u8		net+0		0x0F
 | |
| ip.diffserv	u8		net+1
 | |
| ip.length	u16		net+2
 | |
| ip.id		u16		net+4
 | |
| ip.flag.res	u8		net+6		0xff		7
 | |
| ip.df		u8		net+6		0x40		6
 | |
| ip.mf		u8		net+6		0x20		5
 | |
| ip.offset	u16		net+6		0x1FFF
 | |
| ip.ttl		u8		net+8
 | |
| ip.proto	u8		net+9
 | |
| ip.chksum	u16		net+10
 | |
| ip.src		u32		net+12
 | |
| ip.dst		u32		net+16
 | |
| 
 | |
| # if ip.ihl > 5
 | |
| ip.opts		u32		net+20
 | |
| 
 | |
| 
 | |
| #
 | |
| # IP version 6
 | |
| #
 | |
| # name		alignment	offset		mask		shift
 | |
| ip6.version	u8		net+0		0xF0		4
 | |
| ip6.tc		u16		net+0		0xFF0		4
 | |
| ip6.flowlabel	u32		net+0		0xFFFFF
 | |
| ip6.length	u16		net+4
 | |
| ip6.nexthdr	u8		net+6
 | |
| ip6.hoplimit	u8		net+7
 | |
| ip6.src		16		net+8
 | |
| ip6.dst		16		net+24
 | |
| 
 | |
| #
 | |
| # Transmission Control Protocol (TCP)
 | |
| #
 | |
| # name		alignment	offset		mask		shift
 | |
| tcp.sport	u16		tcp+0
 | |
| tcp.dport	u16		tcp+2
 | |
| tcp.seq		u32		tcp+4
 | |
| tcp.ack		u32		tcp+8
 | |
| 
 | |
| # Data offset (4 bits)
 | |
| tcp.off		u8		tcp+12		0xF0		4
 | |
| 
 | |
| # Reserved [0 0 0] (3 bits)
 | |
| tcp.reserved	u8		tcp+12		0x04		1
 | |
| 
 | |
| # ECN [N C E] (3 bits)
 | |
| tcp.ecn		u16		tcp+12		0x01C00		6
 | |
| 
 | |
| # Individual TCP flags (0|1) (6 bits in total)
 | |
| tcp.flag.urg	u8		tcp+13		0x20		5
 | |
| tcp.flag.ack	u8		tcp+13		0x10		4
 | |
| tcp.flag.psh	u8		tcp+13		0x08		3
 | |
| tcp.flag.rst	u8		tcp+13		0x04		2
 | |
| tpc.flag.syn	u8		tcp+13		0x02		1
 | |
| tcp.flag.fin	u8		tcp+13		0x01
 | |
| 
 | |
| tcp.win		u16		tcp+14
 | |
| tcp.csum	u16		tcp+16
 | |
| tcp.urg		u16		tcp+18
 | |
| tcp.opts	u32		tcp+20
 | |
| 
 | |
| #
 | |
| # User Datagram Protocol (UDP)
 | |
| #
 | |
| # name		alignment	offset		mask		shift
 | |
| udp.sport	u16		tcp+0
 | |
| udp.dport	u16		tcp+2
 | |
| udp.length	u16		tcp+4
 | |
| udp.csum	u16		tcp+6
 |