summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2000-12-23 19:50:36 +0000
committerGuy Harris <guy@alum.mit.edu>2000-12-23 19:50:36 +0000
commit2536d27ed3374962bef420dd475d81f3a3df04aa (patch)
tree9768ebc192f8577a9d4650be76e415f705e8dda5 /util.c
parent9689805893dbc1b475ea01e055d07d1f41533cbb (diff)
downloadwireshark-2536d27ed3374962bef420dd475d81f3a3df04aa.tar.gz
On Linux, try to open the "any" device and, if we can open it, add it to
the end of the list of interfaces on which you can capture. svn path=/trunk/; revision=2774
Diffstat (limited to 'util.c')
-rw-r--r--util.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/util.c b/util.c
index eb85be846e..0bd6787d19 100644
--- a/util.c
+++ b/util.c
@@ -1,7 +1,7 @@
/* util.c
* Utility routines
*
- * $Id: util.c,v 1.47 2000/10/11 07:35:00 guy Exp $
+ * $Id: util.c,v 1.48 2000/12/23 19:50:36 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -632,6 +632,23 @@ get_interface_list(int *err, char *err_str)
#endif
}
+#ifdef linux
+ /*
+ * OK, maybe we have support for the "any" device, to do a cooked
+ * capture on all interfaces at once.
+ * Try opening it and, if that succeeds, add it to the end of
+ * the list of interfaces.
+ */
+ pch = pcap_open_live("any", MIN_PACKET_SIZE, 0, 0, err_str);
+ if (pch != NULL) {
+ /*
+ * It worked; we can use the "any" device.
+ */
+ il = g_list_insert(il, g_strdup("any"), -1);
+ pcap_close(pch);
+ }
+#endif
+
g_free(ifc.ifc_buf);
close(sock);