Loading src/main-conf.c +6 −0 Original line number Diff line number Diff line Loading @@ -713,6 +713,12 @@ masscan_set_parameter(struct Masscan *masscan, masscan_set_parameter(masscan, "router-mac", "ff-ff-ff-ff-ff-ff"); masscan->is_arp = 1; /* needs additional flag */ LOG(5, "--arpscan\n"); } else if (EQUALS("bpf", name)) { size_t len = strlen(value) + 1; if (masscan->bpf_filter) free(masscan->bpf_filter); masscan->bpf_filter = (char*)malloc(len); memcpy(masscan->bpf_filter, value, len); } else if (EQUALS("ping", name) || EQUALS("ping-sweep", name)) { /* Add ICMP ping request */ struct Range range; Loading src/main-initadapter.c +2 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ masscan_initialize_adapter( masscan->is_pfring, masscan->is_sendq, masscan->nmap.packet_trace, masscan->is_offline); masscan->is_offline, masscan->bpf_filter); if (masscan->nic[index].adapter == 0) { fprintf(stderr, "adapter[%s].init: failed\n", ifname); return -1; Loading src/main-ptrace.c +4 −0 Original line number Diff line number Diff line Loading @@ -105,8 +105,12 @@ packet_trace(FILE *fp, const unsigned char *px, size_t length, unsigned is_sent) ); break; } if (parsed.app_length) fprintf(fp, "%s (%5.4f) TCP %-21s > %-21s %s %u-bytes\n", direction, timestamp - global_timestamp_start, from, to, sz_type, parsed.app_length); else fprintf(fp, "%s (%5.4f) TCP %-21s > %-21s %s\n", direction, timestamp - global_timestamp_start, from, to, sz_type); break; case FOUND_IPV6: break; Loading src/masscan.h +2 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,8 @@ struct Masscan unsigned char *http_user_agent; unsigned http_user_agent_length; char *bpf_filter; }; Loading src/rawsock.c +26 −2 Original line number Diff line number Diff line Loading @@ -591,7 +591,8 @@ rawsock_init_adapter(const char *adapter_name, unsigned is_pfring, unsigned is_sendq, unsigned is_packet_trace, unsigned is_offline) unsigned is_offline, const char *bpf_filter) { struct Adapter *adapter; char errbuf[PCAP_ERRBUF_SIZE]; Loading Loading @@ -713,6 +714,29 @@ rawsock_init_adapter(const char *adapter_name, return 0; } else LOG(1, "pcap:'%s': successfully opened\n", adapter_name); if (bpf_filter) { int err; struct bpf_program prog; err = pcap_compile( adapter->pcap, &prog, /* object code, output of compile */ bpf_filter, /* source code */ 1, /* optimize to go fast */ 0); if (err) { pcap_perror(adapter->pcap, "pcap_compile()"); exit(1); } err = pcap_setfilter(adapter->pcap, &prog); if (err < 0) { pcap_perror(adapter->pcap, "pcap_setfilter"); exit(1); } } } /*---------------------------------------------------------------- Loading Loading @@ -811,7 +835,7 @@ rawsock_selftest_if(const char *ifname) (unsigned char)(router_ipv4>>0)); adapter = rawsock_init_adapter(ifname, 0, 0, 0, 0); adapter = rawsock_init_adapter(ifname, 0, 0, 0, 0, 0); if (adapter == 0) { printf("adapter[%s]: failed\n", ifname); return -1; Loading Loading
src/main-conf.c +6 −0 Original line number Diff line number Diff line Loading @@ -713,6 +713,12 @@ masscan_set_parameter(struct Masscan *masscan, masscan_set_parameter(masscan, "router-mac", "ff-ff-ff-ff-ff-ff"); masscan->is_arp = 1; /* needs additional flag */ LOG(5, "--arpscan\n"); } else if (EQUALS("bpf", name)) { size_t len = strlen(value) + 1; if (masscan->bpf_filter) free(masscan->bpf_filter); masscan->bpf_filter = (char*)malloc(len); memcpy(masscan->bpf_filter, value, len); } else if (EQUALS("ping", name) || EQUALS("ping-sweep", name)) { /* Add ICMP ping request */ struct Range range; Loading
src/main-initadapter.c +2 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ masscan_initialize_adapter( masscan->is_pfring, masscan->is_sendq, masscan->nmap.packet_trace, masscan->is_offline); masscan->is_offline, masscan->bpf_filter); if (masscan->nic[index].adapter == 0) { fprintf(stderr, "adapter[%s].init: failed\n", ifname); return -1; Loading
src/main-ptrace.c +4 −0 Original line number Diff line number Diff line Loading @@ -105,8 +105,12 @@ packet_trace(FILE *fp, const unsigned char *px, size_t length, unsigned is_sent) ); break; } if (parsed.app_length) fprintf(fp, "%s (%5.4f) TCP %-21s > %-21s %s %u-bytes\n", direction, timestamp - global_timestamp_start, from, to, sz_type, parsed.app_length); else fprintf(fp, "%s (%5.4f) TCP %-21s > %-21s %s\n", direction, timestamp - global_timestamp_start, from, to, sz_type); break; case FOUND_IPV6: break; Loading
src/masscan.h +2 −0 Original line number Diff line number Diff line Loading @@ -174,6 +174,8 @@ struct Masscan unsigned char *http_user_agent; unsigned http_user_agent_length; char *bpf_filter; }; Loading
src/rawsock.c +26 −2 Original line number Diff line number Diff line Loading @@ -591,7 +591,8 @@ rawsock_init_adapter(const char *adapter_name, unsigned is_pfring, unsigned is_sendq, unsigned is_packet_trace, unsigned is_offline) unsigned is_offline, const char *bpf_filter) { struct Adapter *adapter; char errbuf[PCAP_ERRBUF_SIZE]; Loading Loading @@ -713,6 +714,29 @@ rawsock_init_adapter(const char *adapter_name, return 0; } else LOG(1, "pcap:'%s': successfully opened\n", adapter_name); if (bpf_filter) { int err; struct bpf_program prog; err = pcap_compile( adapter->pcap, &prog, /* object code, output of compile */ bpf_filter, /* source code */ 1, /* optimize to go fast */ 0); if (err) { pcap_perror(adapter->pcap, "pcap_compile()"); exit(1); } err = pcap_setfilter(adapter->pcap, &prog); if (err < 0) { pcap_perror(adapter->pcap, "pcap_setfilter"); exit(1); } } } /*---------------------------------------------------------------- Loading Loading @@ -811,7 +835,7 @@ rawsock_selftest_if(const char *ifname) (unsigned char)(router_ipv4>>0)); adapter = rawsock_init_adapter(ifname, 0, 0, 0, 0); adapter = rawsock_init_adapter(ifname, 0, 0, 0, 0, 0); if (adapter == 0) { printf("adapter[%s]: failed\n", ifname); return -1; Loading