サーバーにnmapを実行し、フィンガープリントを監視しました。無効にするにはどうすればよいですか?
443/tcp open ssl/http TwistedWeb httpd 9.0.0
サーバーにnmapを実行し、フィンガープリントを監視しました。無効にするにはどうすればよいですか?
443/tcp open ssl/http TwistedWeb httpd 9.0.0
「フィンガープリント」は、サーバーが http セッションの開始時に自分自身を識別する方法です。したがって、ツイストで Web サーバーを実装するものと、その ID をどこに保持するかを調べる必要があります。
http://twistedmatrix.com/trac/browser/tags/releases/twisted-12.2.0/twisted/web/server.py行 498 状態を見ると
version = "TwistedWeb/%s" % copyright.version
この変数は Request.process() メソッドによって処理されます
class Request(pb.Copyable, http.Request, components.Componentized):
....
def process(self):
"Process a request."
# get site from channel
self.site = self.channel.site
# set various default headers
self.setHeader('server', version)
self.setHeader('date', http.datetimeToString())
# Resource Identification
self.prepath = []
self.postpath = map(unquote, string.split(self.path[1:], '/'))
try:
resrc = self.site.getResourceFor(self)
self.render(resrc)
except:
self.processingFailed(failure.Failure())
したがって、リクエストを簡単にサブクラス化し、プロセスメソッドを上書きして、好きなことを行うことができます。または、理論的には、アプリケーション コードで次のようなことを行うこともできます。
from twisted.web import server
server.version = "COBOL HTTPD SERVICE"
インポートされたリソースのバージョン値をオーバーライドします。