IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Windows/Linuxの実践トラブルシューティング

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第17回 ネットワークのトラブルシューティング その5 (加賀結衣) 2018年3月

こんにちは。加賀結衣(かが ゆい)と申します。

このコラムでは、株式会社リックテレコムの「Windows/Linuxのトラブル追跡実践ノウハウ」をもとに、私が実際にPCに触りながら学んだことをまとめていきます。
コラム内のページ表記は、この書籍のページを示します(Pはページです)。
日々発生するコンピュータのトラブルに対し、どのようなツールを使い、どのような情報を収集すればよいか知りたいと思われている初心者の方に、このコラムが少しでもお役に立てば嬉しいです。

前回に引き続き今回は、通信の制御として、LinuxからWindowsの共有フォルダにアクセスする方法から学んでゆきましょう。

---------------------------------------------------------------------

第5章 ネットワークのトラブルシューティング

5.4 通信の制御
 5.4.1 特定の通信データを破棄する(p.320)
 5.4.2 通信帯域を絞る(p.321)
 5.4.3 通信のリダイレクトを行う(p.326)
 5.4.4 SSHを使用して通信のトンネルを作る(p.328)
 5.4.5 LinuxからWindowsの共有フォルダにアクセスする(p.330)
 5.4.6 並列実行、ダウンロード速度などの条件を指定したWebからのファイルダウンロードを行う(p.332)
 5.4.7 Webサイトを検査する、情報を抽出する(p.334)

----------------------------------------------------------------------

5.4 通信の制御

 5.4.5 LinuxからWindowsの共有フォルダにアクセスする(p.330)

LinuxとWindowsが混在するネットワークにおいては、Windows上のファイルをLinux上で参照する必要が生じることがあります。
このような場合に、mountコマンドを利用してLinux上でWindowsホストの共有フォルダをマウントすることができます。

以下の書式を利用します。

sudo mount -t cifs -o username=ユーザ名,password=パスワード //WindowsホストのIPアドレス/共有フォルダ名 /マウントポイント

なお、Windowsの共有フォルダ内のファイルに日本語表記のものがあると、文字化けする可能性があります。 このような場合には、-oオプションにiocharset=でiocharset=euc-jp、iocharset=utf8などのように文字コードを指定することができます。

以下の例では文字コードにutf8を指定しています。

sudo mount -t cifs -o username=test1,password=password1,iocharset=utf8 //172.168.10.10/share /mnt/share

[参考情報]
Windows上のファイルにLinuxからアクセスするには(mount.cifs編)
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a004mountcifs.html

 5.4.6 並列実行、ダウンロード速度などの条件を指定したWebからのファイルダウンロードを行う(p.332)

Webサーバに一定の負荷をかけた際に発生する事象など、負荷状態を発生させて事象の再現テストをしたい場合、ツールを用いてテストすることはできますが、高価な場合が多く、一般のエンジニアが再現確認をたやすく行えないことがあります。

そのような場合には、wgetやcurlコマンドなどを利用してダウンロード速度の調整をコマンドで実施する方法で代替することが可能です。

◆wgetコマンド

wgetコマンドは、WebサーバやFTPサーバからファイルをダウンロードするコマンドです。
wget --limit-rate=指定のダウンロード速度 ターゲットURL の構文で、ターゲットURLからのダウンロードスピードをbyte/sec単位で制御することができます。
なお、数字+mでメガバイト指定も可能です。

例えば以下の例の場合、http://192.168.1.1/test1.bin からtest1.binファイルをダウンロードする際に、1MB/secで調整することができます。

wget --limit-rate=1m /dev/null http://192.168.1.1/test1.bin

また、以下の例の場合、http://192.168.1.1/test1.bin からtest1.binファイルをダウンロードする際に、1024KB/secで調整することができます。

wget --limit-rate=1024k /dev/null http://192.168.1.1/test1.bin

また、-qオプションをつけることで、標準出力を抑制してメッセージを表示させないことができます。

以下のように指定すると、wgetを6つほぼ同時に実行してtest1.binファイルをダウンロードさせる動作を実行することができます。

for i in $(seq 1 6); do wget --limit-rate=1024k /dev/null http://192.168.1.1/test1.bin & done

◆rsyncコマンド

rsync --bwlimit=512 等と指定することで、rsyncでKB/sec単位で帯域制限を行うことができます。

上記の例の場合、512KB/secでダウンロードの調整ができます。

◆curlコマンド

cURL(カール)は、HTTPやFTP、Telnetなどの様々なプロトコルを用いてデータを送受信することができるコマンド/プログラムです。
このcurlコマンドでも、wgetコマンド等と同様にダウンロードの調整を行うことができます。

curlは以下からダウンロードできます。
https://curl.haxx.se/download.html

例えば、Windows 10 64 bitのマシンにインストールする場合は上記から zipやcabファイル等で入手してマシンに展開します。
(手元の環境ではcabファイルを入手し、C:\curl にcabファイルの中身を展開しました。)

fig01

詳細は、curl --helpを実行すると確認できますが、以下のようにcurl --limit-rate ダウンロード速度 ターゲットURLで、ターゲットURLからのダウンロードスピードの調整ができます。

curl --limit-rate 512k /dev/null http://192.168.1.1/test1.bin

 5.4.7 Webサイトを検査する、情報を抽出する(p.334)

Windows 10既定のブラウザであるMicrosoft Edge(マイクロソフト エッジ)やInternet Explorerでは、「F12 開発者ツール」という開発者向けのツールが標準搭載されています。
また、Google Chrome(グーグル クロム)ブラウザには開発者向けのツールであるChrome Developer Tools(クロム デベロッパー ツール)が標準搭載されています。

これらのツールでは、ネットワーク通信の内容を簡単に確認できる機能があるため、ご紹介します。

1.Microsoft Edge開発者向けツール(Microsoft Edge Developer Tools)について

メニュー -F12 開発者ツール をクリックすると、以下のように表示させることができます。

fig02

以下のような画面が表示されます。
この画面ではネットワークタブが選択されていますがここでは、サイトにアクセスした際にファイルに対してHTTPSのGetリクエストが送られていることやレスポンスコードの結果が200(正常)であったことなどを確認することができます。

fig03

また、任意のページを開いて、デバッガータブをクリックすると以下のように詳細を表示させることが可能です。

fig04

このツールの詳細については、以下に公開情報があります。

Microsoft Edge Developer Tools
https://docs.microsoft.com/ja-jp/microsoft-edge/devtools-guide

2.Chrome Developer Toolsについて

Google Chromeは以下からダウンロードできます。

https://www.google.co.jp/chrome/browser/desktop/index.html

(プラットフォームに応じてダウンロードできます。
以下はWindows版でGoogle Chrome 62.0.3239.84を利用した際の画面となります。)

Google Chromeをダウンロードし起動したら、以下のようにメニュー - その他のツール - デベロッパー ツールの順にクリックします。

fig05

以下のような画面が表示されるので、Networkタブをクリックします。
(上記バージョンでは既定でブラウザの画面右に表示されますが、データの表示位置は、設定画面にて画面下や右、別のウインドウなどにも変更可能です。)

fig06

任意のWebサイトにアクセスすると、画面にてアクセスの詳細が表示されます。

また、画面左で任意のファイルを選択すると、以下のようにHTTPリクエストやレスポンスのヘッダやデータなどを確認することもできます。

fig07

fig08

今日のまとめ

★mountコマンドを利用してLinux上でWindowsホストの共有フォルダをマウントすることができます。

★Webサーバに一定の負荷をかけた際に発生する事象など、負荷状態を発生させて事象の再現テストをしたい場合、wgetやcurlコマンドなどを利用してダウンロード速度の調整をコマンドで実施する方法でテストを行うことができます。

★Microsoft EdgeやInternet Explorer、Google Chromeブラウザでは開発者向けのツールが標準搭載されており、これらのツールではネットワーク通信の内容を簡単に確認できます。

なお、サーバ(OS)・ネットワーク分野における原因究明の仕方や切り分けなどを行う方法を基礎から学びたい方には、CTC教育サービスの人気のオリジナルコースである
「システムトラブルシュート(ファーストステップ)」
「システムトラブルシュート(ネクストステップ)」がお勧めです。

詳細は、以下のリンクをご参照くださいませ。
http://www.school.ctc-g.co.jp/course/SSE01.html
http://www.school.ctc-g.co.jp/course/SSE02.html

最後まで読んでくださってどうもありがとうございました。次回もどうぞお楽しみに。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes