it-swarm-ja.com

CloudFlareがホストするサイトへのWgetの問題:503サービスが利用できません

Wget を使用して503エラーの他のインスタンスを見たことがありますが、利用できないため、これを解決できません。

特定のWebサイトをダウンロードしようとすると、503 ServiceUnavailableエラーが発生します。これは、問題のWebサイト以外のWebサイトでは発生しません。

これが起こっていることです。私が入ります:

wget -r --no-parent -U Mozilla http://www.teamspeak.com/

そして、これは私が返すエラーです。

--2015-03-12 11:57:08--  http://www.teamspeak.com/
Resolving www.teamspeak.com... 104.28.27.53, 104.28.26.53
Connecting to www.teamspeak.com|104.28.27.53|:80... connected.
HTTP request sent, awaiting response... 503 Service Unavailable
2015-03-12 11:57:09 ERROR 503: Service Unavailable.

このサイトはCloudFlare保護を使用しています(サイトを開くとき、「ブラウザをチェックする」まで5秒待つ必要があります。

5
Zac Webb

CloudFlareの保護は、JavaScript、Cookie、およびhttpヘッダーフィルタリングに基づいています。 wgetを使用してCloudFlareで保護されたサイトをクロールする場合は、最初にデバッガー付きのブラウザー(Firefoxを搭載したFirefoxなど)にサイトを入力し、Cookieリクエストヘッダーをコピーする必要があります。

ここで最も難しい部分:このCookieは1時間のみ有効であるため、1時間ごとに手動で更新する必要があります。

サイトをクロールするために使用できる完全なコマンドは次のとおりです。

wget -U "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0" --header="Accept: text/html" --header="Cookie: __cfduid=xpzezr54v5qnaoet5v2dx1ias5xx8m4faj7d5mfg4og; cf_clearance=0n01f6dkcd31en6v4b234a6d1jhoaqgxa7lklwbj-1438079290-3600" -np -r http://www.teamspeak.com/

__cfduid Cookieの値は一定であり、cf_clearance Cookieの値を1時間ごとに変更するだけでよいことに注意してください。

4
Tomasz Klim

問題は、TeamSpeakがCloudFlareのDDoS保護を適切に使用していることのようです。回答の下部にあるスクリーンショットをご覧ください。この保護の詳細/意味 CloudFlareのセキュリティ機能に関するこの公式Amazonページ

CloudFlareは、Webサイトの多様なコミュニティの知識を活用して、新しいタイプのセキュリティサービスを強化します。オンラインの脅威は、コメントスパムや過度のボットクロールなどの迷惑行為から、SQLインジェクションやサービス拒否(DOS)攻撃などの悪意のある攻撃までさまざまです。 CloudFlareは、これらすべてのタイプの脅威に対するセキュリティ保護を提供し、ウェブサイトを安全に保ちます。

高度なDDoS保護の詳細 メソッドはここにあります

CloudFlareの高度なDDoS保護は、ネットワークエッジでサービスとしてプロビジョニングされ、そのような脅威の巧妙さと規模に一致し、UDPおよびICMPプロトコルをターゲットとするものを含むすべての形式とサイズ、およびSYNのDDoS攻撃を緩和するために使用できます。/ACK、DNS増幅、レイヤー7攻撃。このドキュメントでは、各攻撃方法の構造と、CloudFlareネットワークがそのような脅威からWebプレゼンスを保護するように設計されている方法について説明します。

さて、これはあなたが見ている「503サービスが一時的に利用できません」にどのように影響しますか?つまり、アクセスしようとしているサイトは、Amazon CloudFlare DDoS検出/緩和サービスからの非常に高いレベルの保護の下にあり、wgetcurlは、現時点では不可能です。

FWIW、私はコマンドラインからいくつかの異なるcurl試行を行いましたが、CloudFlareのDDoS保護は、それを使用することを選択したサイトの巨大なWebページプロキシのように機能すると思います。また、「実際の」Webサイトは、ホスト名が解決されるIPアドレス以外の場所に存在します。 このようなサイトclaimCloudFlareホスト名に接続された「実際の」IPアドレスを提供しますが、そうではないようですまったく働くこと。または、指定されたIPアドレスは有効であるかもしれませんが、サービスのセットアップ方法は、CloudFlareのループを飛び越えることなく、実際のサイトへの直接アクセスを拒否するだけです。

つまり、あなたができる最善のことは座って待つことであり、おそらく数時間または数日で、サイトが直面しているセキュリティの問題が消え、標準のwgetまたはcurlの呼び出しを行うことができます。 。しかし、実際には、このセキュリティ保護が実施されており、堅固であり、Webサイトの所有者がそれを無効にしていない場合、それを回避するために多くのことはできません。

enter image description here

1
JakeGould

コマンドラインからサイトにアクセスしているため、CloudFlareがサイトへのリクエストをブロックしているようです。アカウントで「攻撃を受けています」モードが有効になっているため、通常のWebブラウザでのみサイトにアクセスできます。

0
Marc Woodyard