aboutsummaryrefslogtreecommitdiffstats
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
wireshark-2536d27ed3374962bef420dd475d81f3a3df04aa.tar.bz2
wireshark-2536d27ed3374962bef420dd475d81f3a3df04aa.zip
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);