Nmap
Let a programmer choose what to do with the services it finds. The programmer can write Nmap Scripting Engine programs in the Lua programming language. Then Nmap will use those programs to decide what to do.