Added option -G,--no-geoip to disable GeoIP lookup.
Signed-off-by: Vadim Kochan <[email protected]>
---
flowtop.8 | 3 +++
flowtop.c | 17 ++++++++++++++---
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/flowtop.8 b/flowtop.8
index 8feb1c0..3f3f0f1 100644
--- a/flowtop.8
+++ b/flowtop.8
@@ -120,6 +120,9 @@ Flow info refresh interval in seconds, default is 1s.
.SS -n, --no-dns
Do not perform hostname lookup
.PP
+.SS -G, --no-geoip
+Do not perform country & city lookup by GeoIP
+.PP
.SS -v, --version
Show version information and exit.
.PP
diff --git a/flowtop.c b/flowtop.c
index 5848264..c5e3cc9 100644
--- a/flowtop.c
+++ b/flowtop.c
@@ -112,8 +112,9 @@ static struct sysctl_params_ctx sysctl = { -1, -1 };
static unsigned int interval = 1;
static bool resolve_dns = true;
+static bool resolve_geoip = true;
-static const char *short_options = "vhTUsDIS46ut:n";
+static const char *short_options = "vhTUsDIS46ut:nG";
static const struct option long_options[] = {
{"ipv4", no_argument, NULL, '4'},
{"ipv6", no_argument, NULL, '6'},
@@ -126,6 +127,7 @@ static const struct option long_options[] = {
{"update", no_argument, NULL, 'u'},
{"interval", required_argument, NULL, 't'},
{"no-dns", no_argument, NULL, 'n'},
+ {"no-geoip", no_argument, NULL, 'G'},
{"version", no_argument, NULL, 'v'},
{"help", no_argument, NULL, 'h'},
{NULL, 0, NULL, 0}
@@ -260,6 +262,7 @@ static void help(void)
" -u|--update Update GeoIP databases\n"
" -t|--interval <time> Refresh time in seconds (default 1s)\n"
" -n|--no-dns Do not perform hostname lookup\n"
+ " -G|--no-geoip Do not perform country & city lookup by
GeoIP\n"
" -v|--version Print version and exit\n"
" -h|--help Print this help and exit\n\n"
"Examples:\n"
@@ -698,6 +701,9 @@ flow_entry_geo_country_lookup_generic(struct flow_entry *n,
static void flow_entry_get_extended_geo(struct flow_entry *n,
enum flow_entry_direction dir)
{
+ if (!resolve_geoip)
+ return;
+
flow_entry_geo_city_lookup_generic(n, dir);
flow_entry_geo_country_lookup_generic(n, dir);
}
@@ -1542,6 +1548,9 @@ int main(int argc, char **argv)
case 'n':
resolve_dns = false;
break;
+ case 'G':
+ resolve_geoip = false;
+ break;
case 'h':
help();
break;
@@ -1572,7 +1581,8 @@ int main(int argc, char **argv)
conntrack_acct_enable();
conntrack_tstamp_enable();
- init_geoip(1);
+ if (resolve_geoip)
+ init_geoip(1);
ret = pthread_create(&tid, NULL, collector, NULL);
if (ret < 0)
@@ -1580,7 +1590,8 @@ int main(int argc, char **argv)
presenter();
- destroy_geoip();
+ if (resolve_geoip)
+ destroy_geoip();
restore_sysctl(&sysctl);
--
2.6.1
--
You received this message because you are subscribed to the Google Groups
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.