コンピュータネットワーク基礎 期末試験
2006.07.28

Back

注意

携帯電話は電源を切ってパソコンの筐体の上に置いておくこと.試験中は手を触 れてはいけない.Sylpheedは試験時間終了10分前以前に起動させてはいけない.


提出先 justice@mag.shimane-u.ac.jp
件名 NetExam_s0440**
解答用紙ファイル名 AクラスA-s0440**.txt
BクラスB-s0440**.txt

解答用紙


  1. 172.16.200.200/24 と表されるホストに関する以下の問いに答えよ.

    1. IPアドレスを2進数で表せ.なお,数値は8ビットずつスペースで区切るこ と.

      10101100 00010000 11001000 11001000

    2. ネットマスクを2進数で表せ.

      11111111 11111111 11111111 00000000

    3. ネットマスクを10進数で表せ.なお,数値は8ビットずつに分けてピリオ ドで区切ること.

      255.255.255.0

    4. ネットワークアドレスを2進数で表せ.

      10101100 00010000 11001000 00000000

    5. ネットワークアドレスを10進数で表せ.

      172.16.200.0

    6. ブロードキャストアドレスを2進数で表せ.

      10101100 00010000 11001000 11111111

    7. ブロードキャストアドレスを10進数で表せ.

      172.16.200.255

  2. 172.16.200.200/20 と表されるホストに関する以下の問いに答えよ.

    1. IPアドレスを2進数で表せ.なお,数値は8ビットずつスペースで区切ること.

      10101100 00010000 11001000 11001000

    2. ネットマスクを2進数で表せ.

      11111111 11111111 11110000 00000000

    3. ネットマスクを10進数で表せ.なお,数値は8ビットずつに分けてピリオ ドで区切ること.

      255.255.240.0

    4. ネットワークアドレスを2進数で表せ.

      10101100 00010000 11000000 00000000

    5. ネットワークアドレスを10進数で表せ.

      172.16.192.0

    6. ブロードキャストアドレスを2進数で表せ.

      10101100 00010000 11001111 11111111

    7. ブロードキャストアドレスを10進数で表せ.

      172.16.207.255

  3. アクセスカウンタをCGIスクリプトを用いて実現することを考える. counter.cgi というCGIスクリプトとアクセス数を記録しておく count.txt を組み合わせて動作させたい.現在のディレクトリ 構成および保護モード(8進数表記)が図1のようになっているので,これを変更して正 しく動作するようにしたい.どの部分の保護モードをどのように変えれば 良いか,答えよ.

    図1 現在のディレクトリ構成と保護モード

    解答例

    • user1 ディレクトリを755に変更
    • cgi-bin ディレクトリを755に変更
    • counter.cgi を755に変更
    • count.txt
      を666に変更

  4. 以下に示す sample1.cgi というCGIスクリプトを作成した.動作は乱数 を二つ発生させて図2に示すようにそれらを2行に分けて表示させることを期待している.現在のスクリプトでは1行 に二つの乱数を表示してしまう状態である.期待どおりに2行に分けて, 図2のように結果を表示させるためには,どのように修正すれば良いか, 答えよ.

    #!/usr/bin/ruby -Ke
    
    print "Content-type: text/html\n\n"
    
    
    num1 = rand(10) 
    num2 = rand(100)
    
    print <<EOF
    <html>
    <head>
    <title>
    sample1.cgi
    </title>
    </head>
    <body>
    一つめの乱数: #{num1}
    二つめの乱数: #{num2}
    </body>
    </html>
    EOF
    
    

    図2 sample1.cgi の動作結果

    解答例

    一つめの乱数: #{num1}
    <br><br>
    二つめの乱数: #{num2}
    

    のように二つの乱数表示を行っている行の間に改行を入れる.

  5. 次に示す sample2.cgi スクリプトを実行させると Internal Server Error と表示されて正しく動作しない.動作させるためには 何行目をどう修正すれば良いか,説明せよ.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #!/usr/bin/ruby -Ke
    
    print "Content-type: text/html\n\n"
    
    num = rand(10) 
    
    print<<EOF
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=EUC-JP">
    <title>
    sample2.cgi
    </title>
    </head>
    <body>
    発生した乱数: #{num}
    </body>
    </html>
    EOF
    

    解答例

    7行目を以下のように修正する.

    print <<EOF
    

  6. 次に示す sample3.cgi もスクリプト中に間違いがあるため正しく 結果を表示しない.何行目をどう修正すれば良いか,答えよ.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #!/usr/bin/ruby -Ke
    
    print "Content-type: text/html\n\n"
    
    num = rand(10)
    num2 = rand(10)
    
    sum = num1 + num2
    
    print <<EOF
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=EUC-JP">
    <title>
    sample3.cgi
    </title>
    </head>
    <body>
    発生した乱数: #{num}, #{num2}  
    二つの乱数の和: #{sum}
    </body>
    </html>
    EOF
    

    9行目を以下のように修正する.

    sum = num + num2
    

  7. ターミナルにおいて gpg コマンドを用いて暗号化を行う.自分の 公開鍵で暗号化した文書,例えば,myself.txt.asc を自分の秘 密鍵で復号化する作業を行ってみよ.このとき,復号化に成功したときにターミナルに 表示されるメッセージを解答欄に張り付けよ.

    解答例

    1024ビットELG-E鍵, ID 600E1532作成日付は2006-07-19 (主鍵ID 29A28FF2)
    
    gpg: 1024-ビットELG-E鍵, ID 600E1532で暗号化2006-07-19にできました
          "SHIMANE Taro "
    

  8. 前問と同じように,自分の電子署名をつけた文書,mysign.txt.asc を自分で本人確認作業をターミナルにおいて gpg コマンド を用いて行ってみよ,そして,本人確認に成功したときにターミナルに表示されるメッ セージを解答欄に張り付けよ.

    解答例

    gpg: 2006年07月21日 09時57分27秒 JST のDSA鍵ID 4EF7A618による署名
    gpg: 正しい署名: "SHIMANE Taro <s044099@matsu.shimane-u.ac.jp>"
    gpg: 警告: この鍵は信用できる署名で証明されていません!
    gpg:       この署名が本人のものかどうかの検証手段がありません。
    指紋: A2F9 522D 381F CD9D F02A  A575 EFC9 0BBD 4EF7 A618
    


Back