logo

Threat Hunting With Python Part 2: Detecting Nmap Behavior with Bro HTTP Logs

ID: 436a3ed6-8fff-5db0-8156-25418abc57de

STIX ID: report--436a3ed6-8fff-5db0-8156-25418abc57de

Feed Name: Dragos Blog

Date Published: 2017-11-28

Date Updated: 2026-04-27

...
...

This post demonstrates how to detect Nmap network scans by analyzing HTTP behavior rather than relying solely on hard-coded URIs. Using a 2015 conference pcap and Bro (Zeek) http.log, it highlights useful indicators such as atypical or missing user-agent strings (including the Nmap Scripting Engine UA), spikes in non-200 HTTP status codes (404s, other errors, and “-” no-status entries), and temporal clustering of requests. The author recommends building an inventory of HTTP client/host behaviors in OT environments, mapping normal status-code/access patterns, and performing regular hunts across multiple log sources to reliably identify reconnaissance activity.

Your team is not currently subscribed to this feed. You must subscribe to it in order to see this post.