忍者ブログ

mshencity

知っておくべき 5 つの同等物 (および WSL のトリック)

Windows で ping やtracert などのネットワーク コマンドを使用したことがある場合は、それらを Linux 上でも (単独で使用するか、WSL の一部として使用するかにかかわらず) 使用できるかどうか疑問に思うかもしれません。幸いなことに、それは可能です。



ピング

大学のコンピューター ネットワーキングのクラスで、講師が Windows コマンド プロンプトでの ping コマンドの使用法を実演したときのことを覚えています。オペレーティング システムを超えて WSL と一周して戻ってきたとしても、これは生涯にわたる関係の始まりでした。

Linux および WSL コマンド ラインで ping を使用する最も簡単な方法は、ping の後に IP アドレスまたはドメイン名を指定することです。



ping google.com

























google.com の WSL を使用した ping コマンドの戻り時間。





ping 127.0.0.1


後者は、「ループバック デバイス」、つまりローカル マシンのインターフェイスに ping を実行します。 ping は、ホストが稼働しているかどうかを判断する場合、または少なくとも ping 要求に応答する場合に役立ちます。一部のホストはまだ稼働していますが、セキュリティのために ping リクエストを拒否します。 Ping は、サイトが全員ダウンしているのか、自分だけがダウンしているのかを判断するのにも役立ちます。

Linux およびその他の Unix 系システムにおける ping のデフォルトの動作は、Windows とは異なります。 Windows では、ping コマンドは 4 回実行されます。 Linux では、 を押すまで ping が永遠に実行されます。 Ctrl + Cを選択すると、返されたパケットに関する統計が表示されます。
























Ctrl + cでPingを停止する




一定回数の ping の後に ping を停止するには、-c オプションを使用します。ホストに 4 回 ping を実行するには:


ping -c 4 google.com

























Ping は、 "-c 4" 4 回試行したら停止するというオプション。






tracert: Linux のトレースルートまたはトレースパス

Windows 上のもう 1 つの便利なネットワーク診断ツールは、tracert ユーティリティです。このツールを使用すると、マシンからネットワーク ノードを経由して宛先マシンに至るまでのパスを追跡できます。実際には、途中で一部のホストが応答しないため、これは必ずしも完全に信頼できるわけではありません。サイトが他の人のためにダウンしているのか、それとも自分だけがダウンしているのかを確認するのには依然として便利です。

Linux でそれを探すこともできますが、見つからない可能性があります。ただ名前が違うだけです。 「traceroute」コマンドを実行してみてください。


traceroute example.com


または、tracepath コマンドを試してみることもできます。


tracepath example.com

























WSL で実行されているトレースパス。




実行している Linux ディストリビューションによっては、システムに追加のパッケージをインストールする必要がある場合があります。これらのコマンドが失敗した場合は、パッケージ マネージャーで検索を実行して、インストールする必要があるパッケージを特定してみてください。

代わりに、ping とtraceroute の機能を 1 つのユーティリティに統合した MTR のインストールを検討することもできます。 Ubuntu にインストールするには:


sudo apt install mtr


ping やtracerouteと同様に、ホスト名またはIPアドレスを使用してMTRを呼び出すことができます。


mtr howtogeek.com


デフォルトの動作では、GUI ウィンドウを開いて、traceroute を繰り返します。 -t オプションを使用すると、端末に MTR を表示できます。


mtr -t howtogeek.com

























WSL ターミナルの google.com の MTR。




MTR_OPTIONS 環境変数を設定すると、これを自動的に行うことができます。


export MTR_OPTIONS="-t"


これを .bashrc または .zshrc ファイルに入れて、新しいターミナルを起動するたびに設定できます。

これで、MTR を実行すると、ターミナル ウィンドウで実行されます。

従来のトレースルートとの主な違いの 1 つは、MTR では、ping で表示されるものと同様に、各ノードの統計が表示されることです。各ノードの最短、最長、平均 ping 時間と標準偏差がわかります。これにより、ping 時間が平均付近でどの程度ばらついているかがわかります。



ipconfig - Linux で ip を実行するだけ

Windows で ipconfig コマンドを使用して、ネットワーク構成に関する情報を確認したことがあるかもしれません。 ifconfig は Linux で同等のものでしたが、現在は単なる「ip」です。

システム上のすべてのネットワーク インターフェイスを表示するには、次の手順を実行します。


ip link

























Windows の WSL での Linux ip link コマンドの出力。




IP アドレスを確認するには:


ip address

























WSL端末のIPアドレスコマンド。




WSL2 では、デフォルトで WSL 仮想マシンのアドレスが表示されます。 Windows マシン上で Windows システムのネットワーク接続を管理する場合は、Windows 側から直接管理するのが最善です。



netstat - lsof または ss を使用する

オープンなネットワーク接続をすべて確認したい場合があります。誰かがあなたのシステムに不正にアクセスしたのではないかと心配しているかもしれません。どのアプリが「家に電話をかけている」のかを知りたいだけかもしれません。 Windows では、netstat コマンドがこれを行います。 Linux にも同等のものがあります

lsof は、開いているファイルを検査するための一般的なツールです。 Linux ではすべてがファイルであり、これにはネットワーク接続も含まれます。シェルで lsof コマンドを実行するだけです。


lsof

























WSL ターミナルの lsof outout。




デフォルトでは、実行中の Linux アプリが開いているすべてのファイルが表示されるだけです。すべてのインターネット接続を表示するには、-i オプションを使用します。


lsof -i


Linux では、ss は netstat と同様に、開いているソケットに関する情報も表示します。


ss

























WSL ターミナルでの ss コマンドの出力。




WSL を使用している場合の注意点は、これらのユーティリティではシステムの Linux 側の接続のみが表示されることです。 Windows プロセスを調査する場合は、この記事で後述する手法を使用して、WSL の Windows netstat ユーティリティを使用できます。



nslookup: 代わりに nslookup を使用するか、Linux で dig を使用してください

ドメイン名の背後に誰がいるかを調べるには、Windows で nslookup ユーティリティを使用します。 Linux でも同じことができます







Linux にも同様の nslookup コマンドがあります。


nslookup howtogeek.com

























WSL ターミナルでの howtogeek.com の nslookup 出力。




dig ユーティリティを使用することもできます。


dig howtogeek.com

























howtogeek.com の WSL での Linux dig コマンドの出力。




どちらも、指定したアドレス (この場合は howtogeek.com) に関連付けられたドメイン名の「ネーム サーバー」を表示します。

Linux システムによっては、これらのツールがデフォルトではインストールされない場合があります。これらは、WSL のデフォルトである Ubuntu ディストリビューションにはありませんでした。これらのツールが必要な場合は、「bind9-dnsutils」という別のパッケージをインストールする必要があります。

幸いなことに、これは apt を使用すると簡単に実行できます。


sudo apt install bind9-dnsutils  




ボーナス ヒント: WSL で Linux と Windows の両方のコマンドを使用する

WSL を使用している場合は、Linux と Windows のコマンドを組み合わせて使用​​できます。

Linux側からはコマンドに「.exe」を付加することでWindows版を利用することができます。たとえば、Windows netstat コマンドを実行するには、次のようにします。


netstat.exe

























WIndows WSL ターミナルの netstat 出力。




Windows 側からは、wsl コマンドを使用して Linux コマンドを実行することもできます。たとえば、デフォルトの Linux ディストリビューションを使用して PowerShell から Linux ping を実行するには、次のようにします。


wsl ping google.com

























PowerShell での WSL ping コマンドの出力。





Windows コマンド ラインからネットワーク コマンドを実行したことがある場合は、Linux からも簡単に実行できます。WSL を使用すると、両方のシステムからコマンドを実行することも容易になります。 Windows コマンドの多くは Unix に似たシステムで生まれたため、コマンドの多くは非常に似ています。

PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

P R