Ethereal-dev: [Ethereal-dev] [PATCH] Adding new columns for IEEE 802.11 use
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Jouni Malinen <jkmaline@xxxxxxxxx>
Date: Sat, 3 Jul 2004 23:57:14 -0700
Couple of new columns values would be useful when using Ethereal as a wireless sniffer. The attached patch adds wireless meta data, TX rate and RSSI, as new optional column values. Are there any recommendations or instractions on how to select a format string for new columns? Now, I just picked up two unique characters, but this is not very scalable when the number of possible column data increases.. I would like to add couple of new column fields from the IEEE 802.11 header (BSSID, seq#, frag#). How should the format string be selected for these? -- Jouni Malinen PGP id EFC895FA
Index: column.c =================================================================== RCS file: /cvsroot/ethereal/column.c,v retrieving revision 1.47 diff -u -p -r1.47 column.c --- column.c 18 Mar 2004 19:04:30 -0000 1.47 +++ column.c 4 Jul 2004 06:50:32 -0000 @@ -53,7 +53,7 @@ col_format_to_string(gint fmt) { "%rd", "%ud", "%hd", "%rhd", "%uhd", "%nd", "%rnd", "%und", "%S", "%rS", "%uS", "%D", "%rD", "%uD", "%p", "%i", "%L", "%B", "%XO", "%XR", "%I", "%c", "%Xs", - "%Xd", "%V" }; + "%Xd", "%V", "%x", "%e" }; if (fmt < 0 || fmt > NUM_COL_FMTS) return NULL; @@ -105,6 +105,8 @@ static gchar *dlist[NUM_COL_FMTS] = { "Src PortIdx", "Dst PortIdx", "VSAN", + "IEEE 802.11 TX rate", + "IEEE 802.11 RSSI", }; gchar * @@ -187,6 +189,12 @@ get_column_format_matches(gboolean *fmt_ case COL_VSAN: fmt_list[COL_VSAN] = TRUE; break; + case COL_TX_RATE: + fmt_list[COL_TX_RATE] = TRUE; + break; + case COL_RSSI: + fmt_list[COL_RSSI] = TRUE; + break; default: break; } @@ -283,6 +291,12 @@ get_column_longest_string(gint format) case COL_VSAN: return "000000"; break; + case COL_TX_RATE: + return "108.0"; + break; + case COL_RSSI: + return "100"; + break; default: /* COL_INFO */ return "Source port: kerberos-master Destination port: kerberos-master"; break; @@ -414,6 +428,12 @@ get_column_format_from_str(gchar *str) { case 'V': return COL_VSAN; break; + case 'x': + return COL_TX_RATE; + break; + case 'e': + return COL_RSSI; + break; } cptr++; } Index: packet-wlancap.c =================================================================== RCS file: /cvsroot/ethereal/packet-wlancap.c,v retrieving revision 1.4 diff -u -p -r1.4 packet-wlancap.c --- packet-wlancap.c 29 Jan 2004 10:58:28 -0000 1.4 +++ packet-wlancap.c 4 Jul 2004 06:50:37 -0000 @@ -206,6 +206,16 @@ dissect_wlancap(tvbuff_t *tvb, packet_in if(check_col(pinfo->cinfo, COL_INFO)) col_add_fstr(pinfo->cinfo, COL_INFO, "AVS WLAN Capture v%x, Length %d",version, length); + if (check_col(pinfo->cinfo, COL_TX_RATE)) { + guint32 txrate = tvb_get_ntohl(tvb, offset + 32); + col_add_fstr(pinfo->cinfo, COL_TX_RATE, "%d.%d", + txrate / 10, txrate % 10); + } + if (check_col(pinfo->cinfo, COL_RSSI)) { + col_add_fstr(pinfo->cinfo, COL_RSSI, "%d", + tvb_get_ntohl(tvb, offset + 48)); + } + /* Dissect the packet */ if (tree) { ti = proto_tree_add_protocol_format(tree, proto_wlancap, Index: epan/column_info.h =================================================================== RCS file: /cvsroot/ethereal/epan/column_info.h,v retrieving revision 1.12 diff -u -p -r1.12 column_info.h --- epan/column_info.h 31 Jan 2004 04:10:04 -0000 1.12 +++ epan/column_info.h 4 Jul 2004 06:50:37 -0000 @@ -93,6 +93,8 @@ enum { COL_SRCIDX, /* Src port idx - Cisco MDS-specific */ COL_DSTIDX, /* Dst port idx - Cisco MDS-specific */ COL_VSAN, /* VSAN - Cisco MDS-specific */ + COL_TX_RATE, /* IEEE 802.11 - TX rate in Mbps */ + COL_RSSI, /* IEEE 802.11 - received signal strength */ NUM_COL_FMTS /* Should always be last */ };
- Follow-Ups:
- Re: [Ethereal-dev] [PATCH] Adding new columns for IEEE 802.11 use
- From: Guy Harris
- Re: [Ethereal-dev] [PATCH] Adding new columns for IEEE 802.11 use
- Prev by Date: [Ethereal-dev] [PATCH] Dissect EAP-MD5, EAP-SIM, EAP-PEAP, EAP-MSCHAPv2
- Next by Date: [Ethereal-dev] Patch to packet-rip.c
- Previous by thread: Re: [Ethereal-dev] [PATCH] Dissect EAP-MD5, EAP-SIM, EAP-PEAP, EAP-MSCHAPv2
- Next by thread: Re: [Ethereal-dev] [PATCH] Adding new columns for IEEE 802.11 use
- Index(es):