Tie Zhu Xueペネトレーション01-Webサーバー通信の原則

結局のところ、床は少年たちのために見当違いであり、自由は私の人生の残りのために無秩序になるでしょう!

みなさん、こんにちは。私の名前はWang Tiezhuです。小さな目標は、優れた侵入テストエンジニアになりたいということです。今日から、ウェブ浸透テストに関する自分自身の知識の一部をゼロから更新します。私は皆のために前向きな役割を果たすことを願っています!

ここに画像の説明を挿入
最初の章を貫通するための学習を始めましょう!
Webサーバー通信の原則
まず、サーバーとは何かを理解する必要があります。

「サーバーはサーバーとも呼ばれ、コンピューティングサービスを提供するデバイスです。サーバーはサービスリクエストに応答して処理する必要があるため、通常、サーバーにはサービスを提供し、サービスを保証する機能が必要です。サーバーの構成には、プロセッサ、ハードディスク、メモリ、システムバスなど。」

この概念を見るのは
ここに画像の説明を挿入
、実際に単純ではありませんが、サーバーは24時間オンになっているコンピューターです。Baiduにアクセスすると、Baiduのサーバーと対話しています。
現在の主流のサーバーはすべてのLinuxシステム(centOS、Debin、Ubantuなど)であり、多くの利点があります。

  • Windowsシステムがスムーズに実行するには約2GBが必要であるような小型サイズ、Linuxは256MBしか必要とせず、非常にスムーズに実行できるため、システムリソースを大幅に節約できます。(それを見るのは正しいことです!)
  • オープンソース。オープンソースコードはLinuxの最も便利な機能であり、これが最高の学習プラットフォームであると言う人もいます。ほとんどのソースコードを見ることができ、プログラミング言語の学習は役に立ちます。同時に、オープンソースコードは、コンピューター業界の人々が詳細なソフトウェアを開発するのにも役立ちます。
  • 無料、Windowsシステムとは異なり、市販のLinuxシステムは無料です(バイチェンの最も香りのよい定理が確立されています)。
    オペレーティングシステムを見るとき、LinuxとWindowsをどのように区別すればよいでしょうか?

最も単純で最も簡単な操作は、絶対パスとドライブ文字の有無を確認することです。
栗を与える:
Windows:C:\ Users \ TUA。
linux:/ home / wangtiezhu /。
cドライブでは、それはWindowsでなければならず、そうでなければLinuxであることがわかります。
概念を区別しましょう:絶対パスと相対パス(将来的に役立つ)
*絶対パス:*ドライブ文字から始まるパス、これは完全なパスです
例:C:\ Users \ TUA \ Roaming
*相対パス:*プロジェクトに対する相対パスディレクトリパス。これは便利なパスです。
たとえば、ローミングディレクトリにいる場合、このディレクトリにはa.txtファイルがあり、a.txtは相対パスに相当します。
ここに画像の説明を挿入
IP(インターネットプロトコルアドレス):形式:xxxx(0 <= x <= 255)彼はコンピューターのアドレスです。他の人はそれに基づいてコンピューターを見つけることができます。普段の買い物で入力するメールアドレスに似ています。
* ネットワークアドレスには2つのタイプがあります

  • パブリックネットワーク:オペレーターによって割り当てられ、BaiduからIPアドレスクエリを使用して照会できます。これは、xx市、xx市、xx州のxxストリートxxxに相当します。(2つの小さな秘密を教えてください
    Baidu IP 14.215.177.39 Alibaba Cloud:114.114.114.114)
  • サブネット:ルーターによって割り当てられ、同じイントラネットからのみアクセスできます。ホテルの家番号に相当します。(なぜ同じイントラネットにしかアクセスできないのです。サブネットはホテルの家の番号401であると理解できます。他の誰かが401であなたを見つけることができないというだけです。)サブネットは
    10.0.0の特定の範囲からのものです。 10.255.255.255
    172.16.0.0–172.31.255.255
    192.168.0.0–192.168.255.255。
    DNSプロトコルとは何ですか?

DNSはアプリケーション層プロトコルであり、ドメインネームシステム(DNS)の機能は、人間が読み取れるドメイン名(www.example.comなど)を機械が読み取り可能なIPアドレス(192.0.2.44など)に変換することです。DNSプロトコルは、UDPまたはTCPプロトコルに基づいており、デフォルトでポート53を使用します。クライアントはデフォルトでUDPプロトコルを介して通信しますが、WANでの大きなUDPパケットの送信には適していないため、パケット長が512バイトを超える場合は、データ送信にTCPプロトコルを使用するように変換する必要があると規定されています。

簡単に言うと、DNSプロトコルは翻訳担当者であり、ドメイン名www.baidui.comを14.215.177.39のIPアドレスに変換し、クエリのためにサーバーに送信します。
ドメイン名とは何ですか?

ドメイン名(英語:ドメイン名)は、ドメイン名とも呼ばれ、ドットで区切られた一連の名前で構成されるインターネット上のコンピューターまたはコンピューターグループの名前です。データ転送中にコンピューターを見つけるために使用されます(場合によっては、地理的な場所を指します)。

www.baidui.comはドメイン名です。ドメイン名は、DNSプロトコルを介したIPアドレスに依存します。目的は、ユーザーが覚えて使用できるようにすることです。
ドメイン名は、第1レベルのドメイン名、第2レベルのドメイン名、および第3レベルのドメイン名の3つのレベルに分かれています。
baidu.comは第1レベルのドメイン名であるなど、いくつかのレベルのドメイン名である点がいくつかあります。ドメイン名が短いほどメモリが優れているため、第1レベルのドメイン名を購入する必要があります。(ああ、私の神、それはあまりにも有益です!)
ポートとは何ですか?

「ポート」は英語のポートの無料翻訳であり、デバイスと外界との間の通信の出口と見なすことができます。ポートは仮想ポートと物理ポートに分けることができます。仮想ポートはコンピューター内またはスイッチルーター内のポートを指し、表示されません。たとえば、コンピュータのポート80、ポート21、ポート23など。

港はドアとして理解できます。誰かを訪問するとき、ドアをノックする必要がありますか?コンピュータについても同じことが言えます。誰かのWebサイトを訪問するときは、その人のポートを通過する必要があります。

IPアドレスを家と比較すると、ポートはこの家への出入り口です。実際の家にはいくつかのドアしかありませんが、IPアドレスには65536(つまり2 ^ 16)ものポートが存在する可能性があります。ポートはポート番号によってマークされます。ポート番号は整数で、範囲は0〜65535(2 ^ 16-1)です。ここでの-1は、0が予約済みポートであり、通常は使用されないためです。
ここに画像の説明を挿入
cmd netstat -anを使用して、ローカルポートを表示できます。
コンピュータのポートはデフォルトで固定されており、さまざまなサービスがさまざまなポートに対応しています。
重要なポート:3389、445、3306、1433、80、443
80:主にhttpプロトコルを実行します。
443:主にhttpsプロトコルを実行します。
httpプロトコルとは何ですか?

Httpプロトコルは、HTTP-ハイパーテキスト転送プロトコルです。これは、ブラウザ(つまり、Webクライアントプロセス)がWorld Wide WebサーバーにWorld Wide Webドキュメントを要求する方法と、サーバーがドキュメントをブラウザに送信する方法を定義します。階層的な観点から見ると、HTTPはトランザクション指向のアプリケーション層プロトコルであり、World Wide Web上のファイル(テキスト、サウンド、画像などのさまざまなマルチメディアファイルを含む)を確実に交換するための重要な基盤です。また、クライアントブラウザとサーバー間の通信のルールを詳細に規定しています。

主な機能
1.シンプルで高速:クライアントがサーバーにサービスを要求する場合、要求メソッドとパスのみを送信する必要があります。一般的なリクエストメソッドには、GET、HEAD、POSTなどがあります。各メソッドは、異なるタイプのクライアント/サーバー連絡先を指定します。HTTPプロトコルはシンプルなため、HTTPサーバーのプログラムサイズが小さく、通信速度が速いです。

2.柔軟性:HTTPは、あらゆるタイプのデータオブジェクトの送信を許可します。送信されるタイプはContent-Typeによってマークされます。

3.接続なし:コネクションレスの意味は、接続ごとに1つの要求のみの処理を制限することです。サーバーがクライアントの要求を処理し、クライアントの応答を受信すると、サーバーは切断されます。この方法を使用すると、送信時間を節約できます。

4.ステートレス:HTTPプロトコルはステートレスプロトコルです。ステートレスとは、プロトコルにトランザクション処理用のメモリがないことを意味します。状態がないことは、後続の処理で以前の情報が必要な場合、再送信する必要があるため、接続ごとに転送されるデータ量が増加する可能性があることを意味します。一方、サーバーが以前の情報を必要としない場合、その応答はより速くなります。
5. B / SおよびC / Sモードをサポートします。
ここに画像の説明を挿入
これはhttpプロトコルのパケットです:

GET /wxisme HTTP/1.1  
Host: www.cnblogs.com 
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-CN; rv:1.8.1) Gecko/20061010 Firefox/2.0  

取得:パラメータデータを直接確認できます。アドレスバーに表示されますか?後ろはスーパーに買い物に行く時と同じです。
post:getと同様のリクエストヘッダーです。スーパーに買い物に行くのと同じです。営業担当者から黒いビニール袋が渡されたため、パラメータの送信データが多くなり、アドレスバーに表示されなくなりました。
host:は、アクセスするドメイン名です。
User-Aget:このパラメーターは、ブラウザーとは何か、使用しているシステムを他のユーザーに知らせるためのものです。
ここに画像の説明を挿入
訪問者の視点からWebブラウザーを見てみましょう。

  1. ユーザーはブラウザにアクセスして、プロトコルを入力します://ドメイン名(http://www.vmware.coなど)
  2. ユーザーブラウザーは、System->を介してドメイン名に対応するIPアドレスをDNSサーバーに照会します。
  3. ユーザーのブラウザーは、照会されたIPアドレスを使用してWebサーバーへのHTTP要求を開始します。
  4. サーバーはユーザーの要求を分析し、データを抽出して、処理後にHTTP応答を返します。
  5. 応答を受け取った後、ブラウザはテキストのステータス、プロトコルコード、および有効な情報を抽出し、人間が直感的に理解して表示できるグラフィカルインターフェイスに変換します。

DNSサーバーとは何ですか?

DNSサーバーは、ドメインネームシステムまたはドメインネームサービスの略で、主に2つの部分で構成されるコンピューターのドメインネームシステムを指します。1つはリゾルバーで、もう1つはドメインネームサーバーです。DNSサーバーの主な機能は、ドメイン名アドレスを個人のIPアドレスを識別できるネットワークに変換することです。これにより、ネットワーク通信を実行できます。つまり、このWebサイトにアクセスできます。

彼は仲介者と同等です(ただし、この仲介者は差額を請求しません)。
ここに画像の説明を挿入

本日ここに書いたのですが、今後更新していきますが、自分の限界でエラーが出るかもしれません。

元の記事を16件公開 賞賛3件 419回の訪問

おすすめ

転載: blog.csdn.net/qq_23321269/article/details/105578146