基于winpcap开发的网络抓包工具,支持TLS(部分),UDP,ICMP,TCP,ARP,DNS等协议的分析,界面参考wireshark。
/*
+-------------------+-----------------+------+
| 6 byte | 6 byte |2 byte|
+-------------------+-----------------+------+
|destination address| source address | type |
+-------------------+-----------------+------+
*/
/*
+-------+-----------+---------------+-------------------------+
| 4 bit | 4 bit | 8 bit | 16 bit |
+-------+-----------+---------------+-------------------------+
|version|head length| TOS/DS_byte | total length |
+-------------------+--+---+---+----+-+-+-+-------------------+
| identification | |D|M| offset |
+-------------------+---------------+-+-+-+-------------------+
| ttl | protocal | checksum |
+-------------------+---------------+-------------------------+
| source ip address |
+-------------------------------------------------------------+
| destination ip address |
+-------------------------------------------------------------+
*/
/*
+----------------------+---------------------+
| 16 bit | 16 bit |
+----------------------+---------------------+
| source port | destination port |
+----------------------+---------------------+
| sequence number |
+----------------------+---------------------+
| ack number |
+----+---------+-------+---------------------+
|head| reserve | flags | window size |
+----+---------+-------+---------------------+
| checksum | urgent pointer |
+----------------------+---------------------+
*/
/*
+---------------------+---------------------+
| 16 bit | 16 bit |
+---------------------+---------------------+
| source port | destination port |
+---------------------+---------------------+
| data package length | checksum |
+---------------------+---------------------+
*/
/*
+---------------------+---------------------+
| 1 byte | 1 byte | 2 byte |
+---------------------+---------------------+
| type | code | checksum |
+---------------------+---------------------+
| identification | sequence |
+---------------------+---------------------+
| option |
+-------------------------------------------+
*/
/*
|<-------- ARP header ------------>|
+------+--------+-----+------+-------+----------+---------+---------------+--------------+
|2 byte| 2 byte |1byte| 1byte|2 byte | 6 byte | 4 byte | 6 byte | 4 byte |
+------+--------+-----+------+-------+----------+---------+---------------+--------------+
| type |protocol|e_len|ip_len|op_type|source mac|source ip|destination mac|destination ip|
+------+--------+-----+------+-------+----------+---------+---------------+--------------+
*/
/*
+--------------------------+---------------------------+
| 16 bit |1b|4bit|1b|1b|1b|1b|3b|4bit|
+--------------------------+--+----+--+--+--+--+--+----+
| identification |QR| OP |AA|TC|RD|RA|..|Resp|
+--------------------------+--+----+--+--+--+--+--+----+
| Question | Answer RRs |
+--------------------------+---------------------------+
| Authority RRs | Additional RRs |
+--------------------------+---------------------------+
*/