質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1357閲覧

Apache Server でTRACE が有効になっているかどうかを python で簡単に調べる方法

zanjibar

総合スコア206

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2015/10/26 10:03

apache3 サーバの設定で、TRACE が有効になっているかどうかを、python2 で簡単に調べる方法はあるでしょうか? 今は、手作業のtelnet で、TRACE をリクエストして、応答で見ているのですが、同様のことを、簡単に、python でできないでしょうか? curl を直接使ったりとか、wget 使うやり方もあるかと思います。

なお、apache の設定を見ればいいでしょうという回答は、避けてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このサイトにあるようなtelnetと同じ事をさせれば良いのでしょうか。出力結果をパースして405かどうかを判断すればTRACEの可否判断ができそうです。

python

1#!/usr/bin/python3 2 3import socket 4 5host = socket.gethostbyname('www.yahoo.co.jp') 6port = 80 7 8sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 9sock.connect((host, port)) 10sock.send("TRACE /index.html HTTP/1.0 \n\n") 11 12msg = sock.recv(1024) 13sock.close() 14 15print msg

HTTP/1.1 405 Not Allowed
Server: nginx
Date: Thu, 29 Oct 2015 21:58:17 GMT
Content-Type: text/html
Content-Length: 166
Connection: close

<html> <head><title>405 Not Allowed</title></head> <body bgcolor="white"> <center><h1>405 Not Allowed</h1></center> <hr><center>nginx</center> </body> </html>

投稿2015/10/29 22:01

Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zanjibar

2015/10/30 07:23

telnet 方式より簡単なのはなさそうですね。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問