diff --git a/nmap-service-probes b/nmap-service-probes
index 0056fd434c..8435c7b1e8 100644
--- a/nmap-service-probes
+++ b/nmap-service-probes
@@ -1572,6 +1572,7 @@ match http-proxy m|^HTTP/1\.0 400 Bad Request\r\nContent-Type: text/html\r\nPrag
match http-proxy m|^HTTP/HTTP/0\.0 408 Timeout\r\nServer: tinyproxy/([\w._-]+)\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n| p/tinyproxy http proxy/ v/$1/ cpe:/a:banu:tinyproxy:$1/
match http-proxy m|^HTTP/1\.0 408 Timeout\r\nServer: tinyproxy/([\w._-]+)\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n| p/tinyproxy http proxy/ v/$1/ cpe:/a:banu:tinyproxy:$1/
match http-proxy m|^
Invalid HTTP Request\nInvalid HTTP Request
\n\nDescription: Bad request syntax\n
\n\n\n {400}\0| p/unknown transparent proxy/
+match http-proxy m|^HTTP/1\.1 400 Bad request\r\ncontent-length: 90\r\ncache-control: no-cache\r\ncontent-type: text/html\r\nconnection: close\r\n\r\n400 Bad request
\nYour browser sent an invalid request\.\n\n| p/HAProxy http proxy/ cpe:/a:haproxy:haproxy/
match hp-gsg m|^220 JetDirect GGW server \(version (\d[\d.]+)\) ready\r\n| p/HP JetDirect Generic Scan Gateway/ v/$1/ d/printer/
match hp-gsg m|^220 HP GGW server \(version ([\w._-]+)\) ready\r\n\0| p/HP Generic Scan Gateway/ v/$1/ d/printer/
@@ -3490,6 +3491,7 @@ match smtp-proxy m|^220 smtp\.postman\.i2p ESMTP I2PNet Mailservice\r\n| p/I2P T
match smtp-proxy m|^220 XMail ESMTP service ready; [SMTWF][uoehra][neduit], \d\d [JFMASOND][aepueco][nbrylgptvc] \d\d\d\d \d\d:\d\d:\d\d ([-+]\d\d\d\d)\r\n| p/XMail smtpd/ i/IBM Lotus Protector; time zone: $1/ cpe:/a:davide_librenzi:xmail/ cpe:/a:ibm:lotus_protector_for_mail_security/
match smtp-proxy m|^421 concurrent connection limit in avast! exceeded\(pass:0, processes:([\w._-]+)\[\d+\]\)\r\n| p/Avast! anti-virus smtp proxy/ i/connection limit exceeded by $1/ o/Windows/ cpe:/a:avast:antivirus/ cpe:/o:microsoft:windows/
match smtp-proxy m|^421 Cannot connect to SMTP server ([\w._-]+) \([^)]*\), connect error \d+\r\n| p/Avast! anti-virus smtp proxy/ i/cannot connect to $1/ o/Windows/ cpe:/a:avast:antivirus/ cpe:/o:microsoft:windows/
+match smtp-proxy m|^(?:452 syntax error \(connecting\)\r\n)+$| p/ISP SMTP block/
match fw1-topology m|^[QY]\0\0\0$| p/Check Point FireWall-1 Topology/ d/firewall/ cpe:/a:checkpoint:firewall-1/
match fw1-pslogon m|^\0\0\0\x02\0\0\0\x02$| p/Check Point FireWall-1 Policy Server logon/ d/firewall/ cpe:/a:checkpoint:firewall-1/
@@ -5300,6 +5302,21 @@ match http m|^HTTP/1\.1 400 Illegal character .*\r\nContent-Type: text/html;char
match http m|^HTTP/1\.1 [45]0[05] .*\r\nContent-Type: text/html;charset=iso-8859-1\r\nContent-Length: \d+\r\nConnection: close\r\n\r\nBad Message [45]\d\d
reason:| p/Jetty/ cpe:/a:eclipse:jetty/
# Fallback (often 2nd probe varies because of port number)
match http m|^HTTP/1\.1 \d\d\d.*\r\nContent-Type: text/html(?:; charset=us-ascii)?\r\nServer: Microsoft-HTTPAPI/([\d.]+)\r\n| p/Microsoft HTTPAPI httpd/ v/$1/ i|SSDP/UPnP| o/Windows/ cpe:/o:microsoft:windows/a
+# Fallback: RTSPRequest, SIPOptions, HELP, SSLSessionReq, etc.
+match http m%^\nError response\n\n\nError response
\nError code 400\.\n
Message: Bad request (?:version|syntax) \('[^']*'\)\.\n
Error code explanation: 400 = Bad request syntax or unsupported method\.\n\n% p/Python BaseHTTPServer http.server/ v/2 or 3.0 - 3.1/ cpe:/a:python:python/
+# 3.1.4
+match http m%^\n
\n \n Error response\n \n \n Error response
\n Error code: 400
\n Message: Bad request (?:version|syntax) \('[^']*'\)\.
\n Error code explanation: 400 - Bad request syntax or unsupported method\.
\n \n