diff options
author | Guy Harris <guy@alum.mit.edu> | 2000-12-23 19:50:36 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2000-12-23 19:50:36 +0000 |
commit | 2536d27ed3374962bef420dd475d81f3a3df04aa (patch) | |
tree | 9768ebc192f8577a9d4650be76e415f705e8dda5 /util.c | |
parent | 9689805893dbc1b475ea01e055d07d1f41533cbb (diff) | |
download | wireshark-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.c | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -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); |