<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    On 6/5/20 4:50 PM, Even Rouault wrote:<br>
    <blockquote type="cite" cite="mid:3087915.MIMAk7NHni@even-i700">
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
      <meta name="qrichtext" content="1">
      <style type="text/css">
p, li { white-space: pre-wrap; }
</style>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">On vendredi 5 juin 2020 14:18:42 CEST Jody Garnett wrote:</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> Interesting so some of the 5000+ WMS services attributed to geoserver may</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">> be mapserver instances?</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">I imagine someone with sufficient time and determination could actually do much more than saying this is a Geoserver, this is a Mapserver. You could actually probably tell the precise version number. One advantage of being open source is that our bug trackers are public too. So by looking at which bug a deployment has or not, you could really refine the identification. But that would indeed be time consuming and cumbersome to do. I guess only black hat hackers would be interesting in that :-)</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">But probably more easily: triggering exception situations in WMS/WFS/etc protocols should help to find the implementation. Error messages are really implementation specific. But maybe part of that was actually done.</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Even</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
    </blockquote>
    <br>
    I'm not sure with GeoServer, but MapServer is very easy to tell from
    the responses.  The GetCapabilities response even includes the
    version number in an XML comment (which reminds me, I need to update
    my MapServer installs).<br>
    <br>
    No parameters:<br>
    <br>
            <a class="moz-txt-link-freetext" href="https://www.example.org/datasets/wms.map">https://www.example.org/datasets/wms.map</a>?<br>
    <br>
            <tt>No query information to decode. QUERY_STRING is set,
      but empty.
      <br>
      <br>
          </tt>or, depending on how the server is setup<tt><br>
                </tt><br>
    <tt>      mapserv(): Web application error. Traditional BROWSE mode
      requires a TEMPLATE in the WEB section, but none was provided.
      <br>
      <br>
    </tt>Missing WMS REQUEST parameter:<br>
    <br>
           
    <a class="moz-txt-link-freetext" href="https://www.example.org/datasets/wms.map?SERVICE=WMS&VERSION=1.3.0">https://www.example.org/datasets/wms.map?SERVICE=WMS&VERSION=1.3.0</a><br>
    <br>
            <tt><ServiceExceptionReport version="1.3.0"
      xsi:schemaLocation=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/ogchttp://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd">"http://www.opengis.net/ogc
http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd"</a>><ServiceException></tt><tt><br>
    </tt><tt>      <b>msWMSDispatch()</b>: WMS server error. Incomplete
      WMS request: REQUEST parameter missing</tt><tt><br>
    </tt><tt>     
      </ServiceException></ServiceExceptionReport><br>
      <br>
    </tt>GetCapabilities:<br>
    <br>
           
<a class="moz-txt-link-freetext" href="https://www.example.org/datasets/wms.map?SERVICE=WMS&VERSION=1.3.0&Request=GetCapabilities">https://www.example.org/datasets/wms.map?SERVICE=WMS&VERSION=1.3.0&Request=GetCapabilities</a><br>
    <br>
    <tt>      <WMS_Capabilities version="1.3.0"
      xsi:schemaLocation=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/wmshttp://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd http://www.opengis.net/sldhttp://schemas.opengis.net/sld/1.1.0/sld_capabilities.xsd http://mapserver.gis.umn.edu/mapserverhttp://www.example.org/datasets/wms.map?SERVICE=WMS&service=WMS&version=1.3.0&request=GetSchemaExtension">"http://www.opengis.net/wms
      http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd 
      http://www.opengis.net/sld
      http://schemas.opengis.net/sld/1.1.0/sld_capabilities.xsd 
      http://mapserver.gis.umn.edu/mapserver
http://www.example.org/datasets/wms.map?SERVICE=WMS&service=WMS&version=1.3.0&request=GetSchemaExtension"</a>></tt><tt><b><!--</b></tt><tt><b><br>
      </b></tt><tt><b> MapServer version 7.0.5 OUTPUT=PNG OUTPUT=JPEG
        OUTPUT=KML SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE
        SUPPORTS=CAIRO SUPPORTS=SVG_SYMBOLS SUPPORTS=RSVG SUPPORTS=ICONV
        SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER
        SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER
        SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG
        INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE </b></tt><tt><b><br>
      </b></tt><tt><b>--></b></tt><tt><Service><Name>WMS</Name>...</tt><br>
  </body>
</html>