From 0fceb64d25ff3d9586549bb43d971c5eef904330 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Mon, 7 Jun 1999 10:23:42 +0200 Subject: Import ax25-apps 0.0.1 from tarball --- listen/udpdump.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 listen/udpdump.c (limited to 'listen/udpdump.c') diff --git a/listen/udpdump.c b/listen/udpdump.c new file mode 100644 index 0000000..7b1c184 --- /dev/null +++ b/listen/udpdump.c @@ -0,0 +1,44 @@ +/* @(#) $Header: udpdump.c,v 1.5 91/05/09 07:39:11 deyke Exp $ */ + +/* UDP packet tracing + * Copyright 1991 Phil Karn, KA9Q + */ +#include +#include "listen.h" + +#define RIP_PORT 520 + +#define UDPHDR 8 + +/* Dump a UDP header */ +void udp_dump(unsigned char *data, int length, int hexdump) +{ + int hdr_length; + int source; + int dest; + + hdr_length = get16(data + 4); + source = get16(data + 0); + dest = get16(data + 2); + + lprintf(T_PROTOCOL, "UDP:"); + + lprintf(T_TCPHDR, " len %d %s->", hdr_length, servname(source, "udp")); + lprintf(T_TCPHDR, "%s", servname(dest, "udp")); + + if (hdr_length > UDPHDR) { + length -= UDPHDR; + data += UDPHDR; + + switch (dest) { + case RIP_PORT: + lprintf(T_TCPHDR, "\n"); + rip_dump(data, length); + break; + default: + lprintf(T_TCPHDR, " Data %d\n", length); + data_dump(data, length, hexdump); + break; + } + } +} -- cgit v1.2.3