[ネットワークアプリケーションとセキュリティ] 最初の課題

1. 研究室の動作環境に精通している

1 - ログイン

ログインアカウント

グラフィカル インターフェイスとコマンドを通じて個人アカウントにログインできます。

  • グラフィカル インターフェイス: 現在のユーザーlogout、ユーザーの切り替え。代替ユーザーの中にユーザー名がない場合は、 をクリックし、not listedユーザー名とパスワードを入力してログインします。
  • コマンド: su your_usernameEnter キーを押してパスワードを入力する方法を使用して切り替えます。

パスワードを変更する

  • ステップ

kpasswdコマンドを入力してから を入力しold password、Enter キーを押して同じ内容を 2 回入力するとnew password、パスワードが正常に変更されます。

  • 経験

Linux にはパスワードを変更するためのコマンドが他にもありますpasswd

Kpasswd と passwd の違い:

  1. kpasswd は Kerberos によって提供されるパスワード、passwd は Linux システムのパスワードです。
  2. Linux パスワードと Kerberos パスワード (PAM モジュールの構成に応じて) の両方を変更するには passwd を使用しますが、kpasswd は Kerberos パスワードのみを変更します。

2 - Linux 環境に精通している

Linux ではユーザーに提供されるコマンドが数多くありますが、大きく分けて以下のようなコマンドがありますので、マインドマップとしてまとめてみました。

さらに、「初心者チュートリアル - Linux コマンド百科事典」にアクセスして、さらに多くの Linux コマンドを表示することもできます。

3 - リモートログイン

この形式を使用してssh username@ip、ユーザー名としてホストにリモートでログインします。

SSH を使用して接続できない場合は、さまざまな理由が考えられますが、IP がホストに対応していると推測される理由は次のとおりです。

  • ネットワークがありません (pingコマンドを使用して表示します)
  • sshサービスが実行されていません
  • SSH ポート (22) が開いていません

4 - Git の使用

Git は、アジャイルで効率的なプロジェクト管理と共同開発に使用される分散バージョン管理ツールです。Git以下に簡単な利用の流れを紹介します。

添加文件到本地暂存区
添加文件到本地仓库
查看当前状态
查看提交历史
提交到远程仓库
初始化本地仓库
git init
git add filename
git commit filename
git status
git log
git push filename

.gitignoreこのファイルは、Git 管理に引き渡す必要のないファイルを定義するために使用され、ファイル名は固定されており、変更できません。

2. ネットワーク遅延

合計遅延 = 送信遅延 + 伝播遅延 + 処理遅延 + キュー遅延。

  • <1> 送信遅延

ホストまたはルーターがデータ フレームを送信するのに必要な時間、つまり、データ フレームの最初のビットからフレームの最後のビットまでに必要な時間です。发送时延 = 数据帧长度(b) / 信道带宽(b/s)

  • <2> 伝播遅延

電磁波がチャネル内で一定の距離を伝播するのにかかる時間です。传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)

  • <3> 処理遅延

ホストやルーターがパケットを受信すると、パケットのヘッダーの解析、パケットのデータ部分の抽出、エラーの発生や適切なルートの検索など、パケットの処理にある程度の時間がかかります。

  • <4> キューイング遅延

パケットがネットワークを介して送信されるとき、パケットは多くのルーターを通過する必要があります。ただし、パケットがルーターに入った後は、入力キューに入れて処理を待つ必要があります。ルーターが転送インターフェイスを決定したら、そのインターフェイスを出力キューに入れて転送を待つ必要があります。

D prop = ( 1000 ∗ 8 ) / ( 1 ∗ 1024 ∗ 1024 ) ≈ 0.0076 s = 7.6 ms D_{prop} = (1000*8) /( 1*1024*1024) \約 0.0076s = 7.6msDプロップ_ _ _=( 1 0 0 08 ) / ( 11 0 2 41 0 2 4 )0 0 0 7 6=6ミリ
D proc = 1 ミリ秒 D_{proc} = 1 ミリ秒Dプロシージャ_ _ _=1ミリ
D キュー = 5 ミリ秒 D_{queue} = 5 ミリ秒Dキューキュー_ _ _=5ミリ
D trans = ( 2000 ∗ 1 0 3 ) / ( 2 ∗ 1 0 8 ) = 0.01 s = 10 ミリ秒 D_{trans} = (2000*10^3)​​/(2*10^8) = 0.01 秒= 10ミリ秒Dトランス_ _ _ _=( 2 0 0 01 03 )/(21 08 )=0 0 1=1 0ミリ
D ノード = 2 ∗ ( D prop + D proc + D queue + D trans ) = 47.2 ms D_{nodal} = 2*(D_{prop}+D_{proc} +D_{queue}+D_{トランス} )=47.2msDいいえ_ _ _ _=2( Dプロップ_ _ _+Dプロシージャ_ _ _+Dキューキュー_ _ _+Dトランス_ _ _ _=2ミリ

3. ネットワークアプリケーション

Web(C / S 模式):edgeブラウザ、Chromeブラウザ
チャットソフト:QQ、Wechat
ビデオソフト:Tencent Video、iQiYi
ゲーム:Honor of Kings

4.HTTP

  1. はい。応答時間: 2008 年 3 月 7 日火曜日 12:39:45。
  2. 最終更新日: Sat, 10 Dec2005 18:27:46
  3. 受け入れバイト: 3874B
  4. <!doc
  5. はい。キーワード Connection:Keep-Alive に従っています。

5.ネットワークポート

HTTP:80
HTTPS: 443
SSH: 22
TELNET: 23
FTP: 21
DNS: 53

6.TCPプロトコル

GBNとSRの主な違い

違い GBN SR
バッファ 受信ウィンドウ内の順序が乱れたパケットはすべて破棄されるため、受信ウィンドウ内に順序が乱れたパケットを格納するためのバッファーを用意する必要はありません。 多くの不必要なデータ パケットの再送信を避けるために、受信側は順序が乱れたデータ パケットをバッファリングする必要があります。
実装の複雑さ GBNプロトコルは累積確認方式を採用しています。受信機はパケットを順番に受信するため、誤って到着したパケットは受信機によって破棄されます。 SR プロトコルは、送信側ウィンドウと受信側ウィンドウ サイズを同時に同じに設定することを犠牲にして、受信側に到着する正しいデータ パケットを再送信する GBN プロトコルを回避します。
ネットワーク効率 ウィンドウ サイズと帯域幅遅延の積が大きい場合、1 つのパケットにエラーが発生すると、GBN が多数のパケットを再送信する可能性があります。 このプロセスでは、多くのパケットを正しい順序で再送信する必要はありません。

7. 検査システム

1 - LDAP

LDAP (Lightweight Directory Access Protocol) は、ディレクトリ サービスへのアクセス方法を定義する通信プロトコルです [5]。

クライアントはTCP/IP、または他の接続指向トランスポート サービスを介してサーバーに接続し、サーバーに質問します。サーバーは、応答またはクライアントが詳細情報を取得できる場所 (別の LDAP サーバーの場合もあります) へのポインタを提供します。

2 - ケルベロス

Kerberos は、MIT によって開発された暗号化されたチケットに基づく ID 認証システムです [6]。主にKDC(Key Distribution Center)、クライアント、サーバーの3つの部分から構成されており、このうちKDCにはデータベース、認証サーバー(AS:Authentication Server)、チケット発行サーバー(TGS:Ticket Granting Server)の3つの部分が含まれます。

3 - アンシブル

Ansible は効率的なクラスター管理ツールです [7]。ssh制御ホストに特別なソフトウェアをインストールする必要がなく、制御ホストをセットアップするだけで制御クラスタをリモートで構成・管理できる仕組みを採用しており、使いやすく、強力で、拡張も容易です

私の個人的な理解では、Ansible はrsync分散ツールに似ており、複数のクラスター間でファイルを分散できます。

8. Linux オペレーティング環境と Nginx

1 - Ubuntu22.04.3LTS バージョンをインストールする

まず、Ubuntu 公式Web サイト、「Ubuntu 公式 Web サイトに移動」をクリックして、このバージョンのisoイメージ ファイルをダウンロードします。

その後、VMware を使用して、イメージを使用して仮想マシンを作成します。


インストールが成功したら、rootユーザーの初期パスワードの設定に注意し、次のコマンドを実行する必要があります。

sudo passwd

現在のユーザーのパスワードを入力し、新しいパスワードを入力して確認します。

2 - Nginx をインストールする

Nginx 是是一个开源的,支持高性能、高并发的 Web 服务和代理服务软件。

従来の Web プロジェクトでは、同時実行の量は少なく、ユーザーによる同時実行の使用量は少なくなります。したがって、同時実行性が低い場合、ユーザーは Tomcat サーバーに直接アクセスでき、Tomcat サーバーはユーザーにメッセージを返します。

nginx特点是占有内存少,并发能力强実際、nginx の同時実行機能は、同じ種類の Web サーバー間でより優れたパフォーマンスを発揮します。中国本土の nginx Web サイトのユーザーには、Baidu、JD.com、Sina、NetEase、Tencent、Taobao などが含まれます。

Ubuntu22.0.4にNGINXをインストールする方法を説明します。

  • 1. 公式 Web サイトから nginx をダウンロードし、XFTP 経由で Linux にアップロードします。

これは nginx の公式 Web サイトです。ここをクリックして nginx インストール パッケージをダウンロードできます: nginx 公式ダウンロード アドレス. ダウンロードが成功すると、このような圧縮パッケージが得られます。

xshell および XFTP を介して、圧縮パッケージを /opt/software ディレクトリにアップロードします。

  • 2.解凍する

解凍コマンドを実行し、nginx を /opt/module ディレクトリに解凍し、ファイルの名前を nginx に変更します。

tar -xzvf nginx-1.20.2.tar.gz -C /opt/module/
  • 3. 必要なソフトウェア (gcc、openssl など) をインストールします。

nginx をコンパイルするには gcc コンパイラーを使用する必要があるため、gcc とその他の関連ソフトウェアをインストールする必要があります。

まず、nginx が解凍されたディレクトリに移動します。

cd /home/jhguo/opt/module/nginx-1.20.2/

次のコマンドを使用してそれを検出できます。

./configure

次に、次の必要な依存関係をインストールします。

sudo apt-get install gcc  -y
sudo apt-get install libpcre3-dev -y
sudo apt-get install zlib1g zlib1g-dev -y
sudo apt-get install openssl libssl-dev -y
  • 4.nginxをインストールする

nginx インストール ディレクトリに移動し、コンパイルおよびインストール コマンドを実行します。

cd /opt/module/nginx
./configure # Check needed module again.
make
make install

この時点で、nginx はインストールされています。注意,安装成功后,我们的nginx并不是在解压后的目录,而是默认在 /usr/local/nginx 目录下次のステップは、nginx サーバーを起動および停止することです。

3 - nginx のデフォルト ページにアクセスする

nginx ディレクトリを入力します。

cd /usr/local/nginx/

nginx を起動します。

sudo sbin/nginx

nginx默认端口是80,因此要将这个端口开放。

にアクセスして、IPnginx が正常に起動するかどうかを確認します。

Windows でアクセスが成功しました!

nginx を停止します。

sudo sbin/nginx -s stop

4 - 個人ホームページをマウントする

  • 1. dist ディレクトリをアップロードします

個人のホームページ ファイルindex.html(記事を書く前に作成したもの) を Linux システムのディレクトリにアップロードします。ここでは、それを /home/jhguo/opt/files/network_app_sec/hw/hw1 ディレクトリに置きます。

  • 2. nginx設定ファイルnginx.confを変更します。

まず、nginx ディレクトリの下の conf ディレクトリに移動します。

cd /usr/local/nginx/conf/

nginx.conf ファイルを編集し、root の後に dist ディレクトリのパスを追加します。

sudo vim nginx.conf


因为监听 1024 以下的端口需要 root 权限,因此我后面将80改为了8080.

nginx を起動します。

sudo /usr/local/nginx/sbin/nginx

现在,我们就可以通过 主机ip+nginx端口访问我们的个人主页了!

おすすめ

転載: blog.csdn.net/qq_62592360/article/details/132839411