From a61d7dcc17351649276f942e6c4100457bb9bfb9 Mon Sep 17 00:00:00 2001 From: dmiller Date: Mon, 1 Jun 2015 13:42:19 +0000 Subject: [PATCH] Match ICMP ID with returned probes to avoid interference with other scans. Fixes #110 --- scan_engine_raw.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scan_engine_raw.cc b/scan_engine_raw.cc index fd70ade87..89a0e9b08 100644 --- a/scan_engine_raw.cc +++ b/scan_engine_raw.cc @@ -651,7 +651,8 @@ int get_ping_pcap_result(UltraScanInfo *USI, struct timeval *stime) { if (probe->protocol() != encaps_hdr.proto || sockaddr_storage_cmp(&target_src, &hdr.dst) != 0 || sockaddr_storage_cmp(&target_src, &encaps_hdr.src) != 0 || - sockaddr_storage_cmp(&target_dst, &encaps_hdr.dst) != 0) + sockaddr_storage_cmp(&target_dst, &encaps_hdr.dst) != 0 || + ntohs(ping->id) != probe->icmpid()) continue; if ((encaps_hdr.proto == IPPROTO_ICMP || encaps_hdr.proto == IPPROTO_ICMPV6)