ネットワーク関連の勉強内容

今日勉強した内容について走り書き

プログラムのことについて,勉強しようとするとついつい書くのに夢中になってまとめる時間がなくなってしまう。

1時間勉強したら40分は勉強,20分はまとめる時間を取らないとだめだなぁ。

ドメインとか名前解決とか

名前解決

www.nekonisi.comを名前解決しようと思ったら下記の手順になる。

  • Client: nekonisi.comってどこよ? > ルートサーバ
  • ルートサーバ: わからんけど,comのこと知ってんのはコイツら > Client
  • Client: nekonisi.comってどこよ? > comのこと知ってるサーバ
  • comのこと知ってるサーバ: 13.231.122.238やで。 > Client
  • Client: サンガツ

ルートサーバ

DNSの頂点のサーバ。

全部で13クラスタある。

下記で確認できる。

PING *.ROOT-SERVERS.NET

もし,世の中をメチャメチャにしたければ,
この13クラスタを潰せば世界中のインターネットは止まる。

ping A.ROOT-SERVERS.NET



A.ROOT-SERVERS.NET [198.41.0.4]に ping を送信しています 32 バイトのデータ:
198.41.0.4 からの応答: バイト数 =32 時間 =167ms TTL=49
198.41.0.4 からの応答: バイト数 =32 時間 =81ms TTL=49
198.41.0.4 からの応答: バイト数 =32 時間 =71ms TTL=49
198.41.0.4 からの応答: バイト数 =32 時間 =66ms TTL=49



198.41.0.4 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 66ms、最大 = 167ms、平均 = 96ms

TLD(Top Level Domain)

ルートサーバがボスだとしたら,中ボス。
www.nekonisi.comcomの部分。

ルートサーバの次にたらいまわしにされるサーバ。

2LD(2nd Level Domain)

www.nekonisi.comnekonisiの部分。

wwwの必要性

元々は同じドメインでも

HTTP nekonisi.com 192.○.○.○ -> www.nekonisi.com

SMTP nekonisi.com 192.△.△.△-> smtp.nekonisi.com

POP3 nekonisi.com 192.□.□.□-> pop.nekonisi.com

という風に分けていた名残。

以上

LinuCの勉強

パイプリダイレクト

0: 標準入力
1: 標準出力
2: エラー出力
3以降: プロセスが開いたファイル

リダイレクション(標準出力)

出力先を変更する場合

1 > hoge : hogeに標準出力のみを出力
2 > hoge: hogeに標準エラー出力のみを出力
& > both: bothに標準出力,標準エラー出力の両方を出力

リダイレクション(標準入力)

  1. cmd1 < fileA: fileAの内容をcmd1に取り込む
  2. cmd1 < fileA | cmd2: fileAの内容を標準入力からcmd1に
    取り込み出力結果をcmd2に標準入力で渡す。

特殊なファイルや記述

<< here document

cat << eos:指定した文字列が現れるまでの内容を,コマンドの標準入力として扱う。

dev/null

読み込むと常にEOFが返ってくる。


tac

ファイルの内容を最後の行から表示する。


tee

標準入力を別のコマンドとリダイレクトすると同時に,ファイルも格納することが可能。

利用方法

標準入力から読み込んだデータを標準出力とファイルに出力する。

nl /etc/passwd | tee myfile.txt| head -3

パスワードをmyfile.txtに出力すると同時に,先頭3行を表示する。


コマンド同士の結合について

cmd1;cmd2

cmd1実行後,終了コードに関係なくcmd2を実行

cmd1&&cmd2

cmd1の終了コードが0ならば,cmd2を実行

cmd1||cmd2

cmd1の終了コードが0でなければ,cmd2を実行

※ 終了コードは, echo $?で確認可能


grepコマンド

オプション

-v : パターンに一致しない行
-n: 行番号を出力
-l: パターンに一致するファイル名
-i: 大文字,小文字を区別しない


headコマンドに関して

  • デフォルトで10行分出力
  • -100 で100行出力

trコマンド

標準入力から,入力した文字を指定したフォーマットに変換する。

例) 小文字のアルファベットを大文字に変換する。

tr ‘a-z’ ‘A-Z’
キーボード入力: hello
出力: HELLO

例) -dオプションで一致した文字を削除する。

tr -d ‘my’
キーボード入力: My name is yuko
出力: M nae is uko

※ ファイル指定は不可


sedコマンド

  • 単語単位の変換や削除にはsedコマンドを使用する。

SVGについて

SVG(Scalable Vector Graphics)は、ベクター形式の画像やイメージ,テキストなどの2次元CGをXMLで表現するための規格です。

サンプルコード

<svg xmlns="http://www.w3.org/2000/svg"
width="150" height="100" viewBox="0 0 3 2">
 <rect width="1" height="2" x="0" fill="#008d46" />
 <rect width="1" height="2" x="1" fill="#113344" />
 <rect width="1" height="2" x="2" fill="#ff0000" />
</svg?

結果

以上

ssh接続について

今日勉強出来なかった。
でも、まぁ萩さんのアカウントの権限付与できたのでよしとしよう。

端末によるssh接続

ssh -i 公開鍵 user@IP

クライアント側のOSがubuntuの場合は、パーミッションが700じゃないと公開鍵が使えないみたい。地味にハマった。

権限変える

chmod 700 FileName

 

以上