aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-08-31 12:45:46 -0400
committerAnders Broman <a.broman58@gmail.com>2017-09-01 03:42:05 +0000
commited254720fe2dcc612b49a2ef25db2061f8cb85ff (patch)
tree90bbf6edba0a6a095fd1de6b8a0edd53582b3fa0 /wiretap
parent2d93c4c06fabf8b8e6c8a4c85c4cf818dfd4a5d2 (diff)
Add support for NetMon NetmonFilter and NetworkInfoEx frame types.
Bug: 4221 Change-Id: I59aff777c364af1a064e1e99ea9ac6692a4cedfa Reviewed-on: https://code.wireshark.org/review/23333 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'wiretap')
-rw-r--r--wiretap/netmon.c8
-rw-r--r--wiretap/wtap.c6
-rw-r--r--wiretap/wtap.h2
3 files changed, 14 insertions, 2 deletions
diff --git a/wiretap/netmon.c b/wiretap/netmon.c
index 373e725302..f8b5394ae7 100644
--- a/wiretap/netmon.c
+++ b/wiretap/netmon.c
@@ -1059,8 +1059,11 @@ netmon_process_record(wtap *wth, FILE_T fh, struct wtap_pkthdr *phdr,
/*
* List of adapters on which the capture
* was done.
+ * XXX - This could be translated into PCAP-NG blocks
+ * but for now, just treat as a frame
*/
- return RETRY;
+ pkt_encap = WTAP_ENCAP_NETMON_NETWORK_INFO_EX;
+ break;
case NETMON_NET_PAYLOAD_HEADER:
/*
@@ -1087,7 +1090,8 @@ netmon_process_record(wtap *wth, FILE_T fh, struct wtap_pkthdr *phdr,
* NetMon capture or display filter
* string.
*/
- return RETRY;
+ pkt_encap = WTAP_ENCAP_NETMON_NET_FILTER;
+ break;
default:
*err = WTAP_ERR_UNSUPPORTED;
diff --git a/wiretap/wtap.c b/wiretap/wtap.c
index 4e57ece6db..6e80171398 100644
--- a/wiretap/wtap.c
+++ b/wiretap/wtap.c
@@ -938,6 +938,12 @@ static struct encap_type_info encap_table_base[] = {
/* WTAP_ENCAP_NETMON_HEADER */
{ "Network Monitor Header", "netmon_header" },
+
+ /* WTAP_ENCAP_NETMON_NET_FILTER */
+ { "Network Monitor Filter", "netmon_filter" },
+
+ /* WTAP_ENCAP_NETMON_NETWORK_INFO_EX */
+ { "Network Monitor Network Info", "netmon_network_info" },
};
WS_DLL_LOCAL
diff --git a/wiretap/wtap.h b/wiretap/wtap.h
index 00bafcde19..77a0205aa6 100644
--- a/wiretap/wtap.h
+++ b/wiretap/wtap.h
@@ -276,6 +276,8 @@ extern "C" {
#define WTAP_ENCAP_NORDIC_BLE 186
#define WTAP_ENCAP_NETMON_NET_NETEVENT 187
#define WTAP_ENCAP_NETMON_HEADER 188
+#define WTAP_ENCAP_NETMON_NET_FILTER 189
+#define WTAP_ENCAP_NETMON_NETWORK_INFO_EX 190
/* After adding new item here, please also add new item to encap_table_base array */
#define WTAP_NUM_ENCAP_TYPES wtap_get_num_encap_types()