--- sweep_udp.rb.bck 2008-05-25 17:24:28.000000000 +0200 +++ sweep_udp.rb 2008-05-25 17:25:50.000000000 +0200 @@ -37,6 +37,7 @@ @probes << 'probe_pkt_netbios' @probes << 'probe_pkt_portmap' @probes << 'probe_pkt_mssql' + @probes << 'probe_pkt_ntp' @probes << 'probe_pkt_snmp' @probes << 'probe_pkt_sentinel' @@ -130,6 +131,15 @@ when 111 app = 'Portmap' inf = pkt[0].unpack('H*')[0] + when 123 + app = 'NTP' + ver = nil + ver = pkt[0].unpack('H*')[0] + ver = 'NTP v3' if (ver =~ /^1c06|^1c05/) + ver = 'NTP v4' if (ver =~ /^240304/) + ver = 'NTP v4 (unsynchronized)' if (ver =~ /^e40/) + ver = 'Microsoft NTP' if (ver =~ /^dc00|^dc0f/) + inf = ver if ver when 1434 app = 'SQL Server' mssql_ping_parse(pkt[0]).each_pair { |k,v| @@ -294,6 +304,14 @@ return ["\x02", 1434] end + def probe_pkt_ntp(ip) + data = + "\xe3\x00\x04\xfa\x00\x01\x00\x00\x00\x01\x00\x00\x00" + + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + "\x00\xc5\x4f\x23\x4b\x71\xb1\x52\xf3" + return [data, 123] + end def probe_pkt_snmp(ip) data =