- From: Mark Nottingham <mnot@mnot.net>
- Date: Thu, 21 Feb 2013 18:35:04 +1100
- To: Willy Tarreau <w@1wt.eu>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
On 21/02/2013, at 6:29 PM, Willy Tarreau <w@1wt.eu> wrote:
> On Thu, Feb 21, 2013 at 06:21:02PM +1100, Mark Nottingham wrote:
>>
>> On 21/02/2013, at 6:06 PM, Willy Tarreau <w@1wt.eu> wrote:
>>
>>> That's a great test, thanks for reporting this !
>>> I think that some experiments may be pursued using :
>>> - valid, known methods and versions (eg: POST * HTTP/1.1)
>>> - Connection header
>>>
>>> I suspect that POST will be blocked on a large number of minimal web
>>> servers (the least compliant ones), add to that "*" which will most
>>> often not be accepted, and HTTP/1.1 without a Host header field might
>>> help getting a quick fail. At this point, I don't know if a Connection
>>> header could help or not (typically Upgrade).
>>
>> Hm. POST has a body, so some might try to buffer it, hanging. Anyway, that's a theory; let's look at the numbers:
>>
>> POST * HTTP/1.1\r\n\r\n
>> 27607 CLOSE
>> 232 CONN_ERR
>> 7309 TIMEOUT
>>
>> Yep, not as good.
>
> Indeedr, thanks!
>
> Do you know if the ones which timeout in your tests respond to
> anything ? And if so, maybe we'll find some patterns (eg: just
> a few very specific implementations) that are worth studying ?
>
> It's also possible that those are blocked by IDS/IPS in front
> of them simply dropping packets, at which point trying completely
> valid requests might help.
Here's the top 50 Server strings from the 3589 TIMEOUTs from the best one so far (the tail is *long*):
587 Microsoft-IIS/6.0
386 Apache
379 -
280 Microsoft-IIS/7.5
56 Microsoft-HTTPAPI/2.0
49 Microsoft-IIS/7.0
46 Apache-Coyote/1.1
44 Apache/2.2.3 (Red Hat)
37 Apache/2.2.3 (CentOS)
26 IBM_HTTP_Server
19 Microsoft-IIS/5.0
18 nginx
17 BigIP
16 Apache/2.2.16 (Debian)
15 Apache/2.2.14 (Ubuntu)
12 Sun-ONE-Web-Server/6.1
12 Apache/2.0.52 (Red Hat)
10 Mbedthis-Appweb/2.4.2
10 LiteSpeed
9 Lotus-Domino
8 Netscape-Enterprise/6.0
8 Apache/2.2.15 (Red Hat)
8 Apache/1.3.31
7 FlashCom/3.5.7
7 Apache/2
7
6 squid/3.0.STABLE20
6 Servidor-Web
6 Oracle-iPlanet-Web-Server/7.0
6 nginx/0.7.67
6 Microsoft-IIS/6.0, 2
6 Apache/2.2.22 (Ubuntu)
5 Netscape-Enterprise/4.1
5 FileMakerPro/6.0v4 WebCompanion/6.0v3
5 FileMakerPro/6.0v4 WebCompanion/6.0v1
5 Apache/2.2.3 (Linux/SUSE)
5 Apache/2.2.15 (CentOS)
5 Apache/2.2.10 (Linux/SUSE)
4 Zeus/4.3
4 nginx/1.2.4
4 Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8e-fips-rhel5 Resin/3.1.6
4 Apache/2.2.0 (Fedora)
3 Zope/(Zope 2.10.13-final, python 2.4.6, linux2) ZServer/1.1 Plone/3.3.6
3 none
3 Apache/2.4.3 (Unix)
3 Apache/2.2.3 (Unix) mod_jk/1.2.19 mod_ssl/2.2.3 OpenSSL/0.9.8d
3 Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8a DAV/2 PHP/5.3.2
3 Apache/2.2.20 (Ubuntu)
3 Apache/2.2.17 (Fedora)
3 Apache/2.2.12 (Linux/SUSE)
--
Mark Nottingham http://www.mnot.net/
Received on Thursday, 21 February 2013 07:35:31 UTC