ネットワーク検定2008

connect24h MLでこんなんがながれてた

「ネットワーク検定2008」
●開催期間:9月19日(金)〜10月5日(日)
●受験URL:https://aida.nikkeibp.co.jp/Q/CKAN02.html

20問 30分ぐらい

10月にスコアーが送られてくるらしい。
さて、私の実力はいかに?(笑)

1025追記 --- 結果がもどってきました。

こんな感じ

あなたの得点と順位
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  あなたの総合得点  16点/20点中 (平均:11.4点)
  あなたの総合順位  89位/2707人中
  ─────────────────────────────────
   あなたの「ネットワークを構築する力」
    3点 (平均:2.2点/4点中)
    
   あなたの「トラブルを解決する力」
    2点 (平均:1.6点/4点中)
    
   あなたの「ネットワークを管理する力」
    4点 (平均:2.6点/4点中)
    
   あなたの「ネットワーク機器を選択する力」
    3点 (平均:2.0点/4点中)
    
   あなたの「セキュリティ対策をする力」
    4点 (平均:3.0点/4点中)
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
─────────────────────────────────────
おめでとうございます!あなたは見事、平均点以上の成績を収められました。
この成績を讃えた表彰状を、以下のURLからダウンロード可能です。

○問1 カテゴリ:ネットワークを構築する力
 あなたの解答 e  ⇒ 正解 (正答率:76.3%)
 正解は「e)ブロードキャストがルーターにおいて遮断され、PC2、PC3、PC4に
 転送される」

○問2 カテゴリ:トラブルを解決する力
 あなたの解答 a  ⇒ 正解 (正答率:63.5%)
 正解は「a)デフォルト・ゲートウエイのMACアドレスを学習できていないため、
 別ネットワークに通信できない」

○問3 カテゴリ:セキュリティ対策をする力
 あなたの解答 e  ⇒ 正解 (正答率:91.5%)
 正解は「e)(2)と(5)」

○問4 カテゴリ:セキュリティ対策をする力
 あなたの解答 e  ⇒ 正解 (正答率:94.1%)
 正解は「e)ポート・スキャン」

○問5 カテゴリ:ネットワークを管理する力
 あなたの解答 c  ⇒ 正解 (正答率:69.8%)
 正解は「c)255.255.255.224」

○問6 カテゴリ:ネットワークを構築する力
 あなたの解答 a  ⇒ 正解 (正答率:73.9%)
 正解は「a)PC1は通常のタグなしフレームを送信し、LANスイッチAでVLAN10を
 示すタグを付けてLANスイッチBへ転送する。LANスイッチBはタグを外してPC3へ
 送信する」

○問7 カテゴリ:ネットワークを構築する力
 あなたの解答 c  ⇒ 正解 (正答率:53.5%)
 正解は「c)IEEE米国電気電子技術者協会)が無線LAN専用に標準化したネット
 ワーク認証のしくみである」

○問8 カテゴリ:ネットワークを管理する力
 あなたの解答 c  ⇒ 正解 (正答率:82.6%)
 正解は「c)インターネット接続用ルーターに、インターネットあてのパケット
 の転送先をプロバイダのルーターとしたデフォルト・ルートを設定する」

○問9 カテゴリ:ネットワーク機器を選択する力
 あなたの解答 a  ⇒ 正解 (正答率:55.3%)
 正解は「a)DNS冗長化」

○問10 カテゴリ:セキュリティ対策をする力
 あなたの解答 e  ⇒ 正解 (正答率:43.3%)
 正解は「e)自社の情報がインターネット上の掲示板に書き込まれていることを
 理由に、掲示板の管理者に該当の書き込みを削除してもらう」

○問11 カテゴリ:ネットワーク機器を選択する力
 あなたの解答 a  ⇒ 正解 (正答率:70.5%)
 正解は「a)鉛や水銀など環境負荷物質を一定量以上含んでいないことを示した
 もの」

○問12 カテゴリ:ネットワーク機器を選択する力
 あなたの解答 c  ⇒ 正解 (正答率:38.5%)
 正解は「c)(3)のモジュール」

○問13 カテゴリ:トラブルを解決する力
 あなたの解答 c  ⇒ 不正解 (正答率:16.0%)
 正解は「e)route」

○問14 カテゴリ:ネットワークを管理する力
 あなたの解答 b  ⇒ 正解 (正答率:32.2%)
 正解は「b)すべてのクライアントのDNSサーバーの設定を、必ずActive Direct
 ory用のDNSサーバーに変更する」

○問15 カテゴリ:セキュリティ対策をする力
 あなたの解答 c  ⇒ 正解 (正答率:69.1%)
 正解は「c)経営者」

○問16 カテゴリ:ネットワーク機器を選択する力
 あなたの解答 c  ⇒ 不正解 (正答率:34.8%)
 正解は「d)フロア・スイッチにマルチサプリカント対応の認証スイッチを導入
 すれば、その配下のデスクトップ・スイッチの変更を意識しなくてもよい」

○問17 カテゴリ:ネットワークを構築する力
 あなたの解答 b  ⇒ 不正解 (正答率:16.1%)
 正解は「e)ルーター1に「route add -net 192.168.20.0 netmask 255.255.254.0
  gw 192.168.10.2」を設定」

○問18 カテゴリ:ネットワークを管理する力
 あなたの解答 b  ⇒ 正解 (正答率:71.3%)
 正解は「b)VPNルーターIPsecを使っているから」

○問19 カテゴリ:トラブルを解決する力
 あなたの解答 c  ⇒ 正解 (正答率:69.0%)
 正解は「c)(3)の設定」

○問20 カテゴリ:トラブルを解決する力
 あなたの解答 e  ⇒ 不正解 (正答率:15.5%)
 正解は「c)ルーターファイアウォール(フィルタリング)の設定を変更する」

詳しい解説、設問は下記URLをご参照ください
  http://itpro.nikkeibp.co.jp/article/COLUMN/20080808/312471/

ネットワーク実験プログラミング1 (UDP まずはserver側)

ネットワーク実験プログラミング1 (UDP まずはserver側)

[root@cent5-4 chap3]# cat my-udpc2.c 
#include 
#include 
#include 
#include 
#include 
#include 
#define BUFSIZE 65500

enum {CMD_NAME,DST_PORT} ;   // CMD_NAME==0 , DST_PORT==1になる

int main(int argc, char * argv[])
{
 
 int port;
 int DEFAULT_PORT = 5320;
 struct sockaddr_in server;
 int s;   // socket descriptor



//                                       // port selection
 if (argc == 2 ) {
  port = atoi(argv[DST_PORT]);
  //printf("%d\n",port);
  
 } else {
  port = DEFAULT_PORT;
 }

//名前 socket - 通信のための端点(endpoint)を作成する
// 書式
//     #include 
//       #include 
// int socket(int domain, int type, int protocol);

 s = socket(PF_INET, SOCK_DGRAM , 0);  

 if ( s < 0 ) {
 perror("socket");
 exit(EXIT_FAILURE);
 }
 //printf("s:%d\n",s);       // print socketdescriptor

 
 //   名前 memset - ある一定のバイトでメモリ領域を埋める。

 //   #include 
 //   void *memset(void *s, int c, size_t n);
 //   説明
 //     memset() は s で示されるメモリ領域の先頭から n バイトを c で埋める。
 //   返り値
 //    memset() は s へのポインタを返す。
       
 //   struct sockaddr_in server; の初期化(all zero化)

     memset*1;
     server.sin_family = PF_INET ;
     server.sin_addr.s_addr = htonl(INADDR_ANY);
     server.sin_port = htons(port);

//NAME htonl,  htons,  ntohl,  ntohs - convert values between host and network
//     byte order
//
//SYNOPSIS
//       #include 
//       uint32_t htonl(uint32_t hostlong);
//       uint16_t htons(uint16_t hostshort);
//       uint32_t ntohl(uint32_t netlong);
//       uint16_t ntohs(uint16_t netshort);

    if ( bind(s,(struct sockaddr *) &server , sizeof(server))  < 0 ) {
     perror("bind");
     exit(EXIT_FAILURE);
    }

//     #include 
//     int bind(int socket, const struct sockaddr *address, socklen_t address_len);
//     Upon successful completion, bind() shall return 0; otherwise, -1  shall
//     be returned and errno set to indicate the error.
 

/////////////////////////  main routine ///////////////////////////////////

 struct sockaddr_in client;
 int len;
 int rn;
 char recv_buf[BUFSIZE];

len = sizeof(client);
while(1) {
rn = recvfrom( s , recv_buf , BUFSIZE - 1 , 0 ,
             (struct sockaddr *) &client ,&len);


//       recv, recvfrom, recvmsg - receive a message from a socket
//
//       #include 
//       #include 

//       ssize_t recvfrom(int s, void *buf, size_t len, int flags,
//                        struct sockaddr *from, socklen_t *fromlen);
recv_buf[rn] = '\n' ;
printf("received: %s\n",recv_buf);

sendto(s , recv_buf , BUFSIZE , 0 ,
       (struct sockaddr *) &client , len);

//名前  send, sendto, sendmsg - ソケットへメッセージを送る
//書式
//       #include 
//       #include 
//       ssize_t  sendto(int  s,  const  void *buf, size_t len, int flags, const
//       struct sockaddr *to, socklen_t tolen);


}  // end of while




close(s);
}  // end of main
[root@cent5-4 chap3]# gcc -o my-udpc2 my-udpc2.c 



*1:char *) &server , 0 , sizeof(server