1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #以下代码可以在任意支持 tcpdump 的类 Unix 平台上运行,输出大同小异 bash-3.2$ sudo tcpdump -d -i lo tcp and dst port 7070 (000) ldh [12] (001) jeq #0x86dd jt 2 jf 6 #检测是否为 ipv6 报文,若为假(jf)则按照 ipv4 报文处理(L006) (002) ldb [20] (003) jeq #0x6 jt 4 jf 15 #检测是否为 tcp 报文 (004) ldh [56] (005) jeq #0x1b9e jt 14 jf 15 #检测是否目标端口为 7070(0x1b9e),若为真(jt)则跳转 L014 (006) jeq #0x800 jt 7 jf 15 #检测是否为 ipv4 报文 (007) ldb [23] (008) jeq #0x6 jt 9 jf 15 #检测是否为 tcp 报文 (009) ldh [20] (010) jset #0x1fff jt 15 jf 11 #检测是否为 ip 分片(IP fragmentation)报文 (011) ldxb 4*([14]&0xf) (012) ldh [x + 16] #找到 tcp 报文中 dest port 的所在位置 (013) jeq #0x1b9e jt 14 jf 15 #检测是否目标端口为 7070(0x1b9e),若为真(jt)则跳转 L014 (014) ret #262144 #该报文符合要求 (015) ret #0 #该报文不符合要求 |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |