wm: dnsparser

ref: 1766db24dfb733bd1f574bf0882527356f177397
dir: /tls.c/

View raw version
#include <stdio.h>
#include <stdint.h>
#include <pcap.h>
#include "common.h"

int
parseTlsRecord(const u_char *pkt, Tls tls)
{
	int pos = 0;
	
	tls.contenttype = pkt[pos];
	pos += TLS_RECORD_CONTENTTYPE;
	
	tls.rversion = pkt[pos];
	pos += TLS_RECORD_VERSION;
	
	tls.len = get2(pkt + TLS_RECORD_LEN);
	pos += TLS_RECORD_LEN;
	
	return 1;
}

int
parseTlsHandshake(const u_char *pkt, TlsHandshake hs)
{
	
}

int
parseTls(const u_char *pkt, Tls tls)
{
	int pos = 0;
	
	parseTlsRecord(pkt + pos, tls);
	parseTlsHandshake(pkt + TLS_RECORD, tls.handshake);
}

void
printTls(Tcp tcp)
{/*
		printf("tcp pkt:\n"
		"\tsrcport: %d\tdstport: %d\n"
		"\tseqnum: %d\tacknum: %d\n"
		"\toffset: %d\tflags: %b (%x)\n"
		"\twinsize: %d (%x)\tsum: %d\n",
		
		tcp.srcport, tcp.dstport,
		tcp.seqnum, tcp.acknum,
		tcp.offset, tcp.flags, tcp.flags,
		tcp.winsize, tcp.winsize, tcp.sum);
*/}

Parser tlsParser = {
	.name = "tls",
	.parse = parseTls,
	.print = printTcp,
};