From ad3e5dadc2d95b14bce4a4ebd753bf7425f2fd15 Mon Sep 17 00:00:00 2001 From: luis Date: Tue, 26 Jul 2011 12:03:49 +0000 Subject: [PATCH] Add some comments and remove some unused code --- osscan2.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/osscan2.cc b/osscan2.cc index 4da279b79..2c75c1839 100644 --- a/osscan2.cc +++ b/osscan2.cc @@ -347,6 +347,8 @@ static void begin_sniffer(HostOsScan *HOS, vector &Targets) { bool doIndividual = Targets.size() <= 20; // Don't bother IP limits if scanning huge # of hosts pcap_filter[0] = '\0'; + /* If we have 20 or less targets, build a list of addresses so we can set + * an explicit BPF filter */ if (doIndividual) { for(targetno = 0; targetno < Targets.size(); targetno++) { len = Snprintf(dst_hosts + filterlen, @@ -361,11 +363,12 @@ static void begin_sniffer(HostOsScan *HOS, vector &Targets) { if (len < 0 || len + filterlen >= (int) sizeof(dst_hosts)) fatal("ran out of space in dst_hosts"); } - filterlen = 0; + /* Open a network interface for packet capture */ if((HOS->pd=my_pcap_open_live(Targets[0]->deviceName(), 8192, (o.spoofsource)? 1 : 0, pcap_selectable_fd_valid()? 200 : 2))==NULL) fatal("%s", PCAP_OPEN_ERRMSG); + /* Build the final BPF filter */ if (doIndividual) len = Snprintf(pcap_filter, sizeof(pcap_filter), "dst host %s and (icmp or (tcp and (%s", inet_ntoa(Targets[0]->v4source()), dst_hosts); @@ -374,8 +377,8 @@ static void begin_sniffer(HostOsScan *HOS, vector &Targets) { inet_ntoa(Targets[0]->v4source())); if (len < 0 || len >= (int) sizeof(pcap_filter)) fatal("ran out of space in pcap filter"); - filterlen = len; + /* Compile and apply the filter to the pcap descriptor */ if (o.debugging) log_write(LOG_PLAIN, "Packet capture filter (device %s): %s\n", Targets[0]->deviceFullName(), pcap_filter); set_pcap_filter(Targets[0]->deviceFullName(), HOS->pd, pcap_filter);