安定した安全なネットワークを確立することになると、Linuxは私たちの大多数にとって最初の選択肢です。これは、Linuxが提供する膨大な数のネットワーキングツールやコマンドなど、多くのことを説明しています。安全なネットワークのセットアップ、問題の監視、効果的なトラブルシューティングなどを可能にする、一見無限の数のネットワークユーティリティを見つけることができます。実際、このリストは非常に広範囲にわたるため、インターネット上のほとんどのチュートリアルではそれらを網羅しようとさえしていません。そのため、さまざまなLinuxネットワークコマンドに関するこのよく考えられたガイドを作成しました。
SysAdmins用のLinuxネットワークコマンド
このガイド全体を、ツールとその使用法に基づいて特定の部分に分割しようとしました。これらのコマンドの多くは、さまざまなシナリオで使用できます。したがって、それらのグループ化自体は厳密ではありません。視覚化を支援するためにここにあります。このガイドはすべてのLinuxネットワークコマンドを網羅しているわけではありませんが、ネットワークに行き詰まったときはいつでもこれを参照ポイントとして使用できます。
ネットワークインターフェイスを管理するためのLinuxネットワークコマンド
ネットワークインターフェイスの構成と管理は、システム管理者とパワーユーザーの両方にとって不可欠です。このセクションでは、この仕事のためにUnixライクなシステムで利用可能ないくつかの基本的なネットワークコマンドについて説明します。
1。 ifconfig
Linuxシステム管理者向けの最も基本的でありながら強力なネットワークコマンドの1つは、ifconfigです。これは、ユーザーがネットワークインターフェイスパラメータを構成および管理できるようにする組み込みのシステムユーティリティです。 ifconfigという名前は、「 interface configuration」の略です。 「これは、ネットワークインターフェースが正常に機能しているかどうかを確認するための頼りになるツールです。
$ ifconfig
オプションなしで呼び出すと、ネットワークデバイス、構成、および現在の設定に関する詳細情報が提供されます。
-sを使用できます より短く、より簡潔な情報を取得するためのフラグ。他の追加オプションにより、ifconfigはより要求の厳しいタスクを実行できます。それらの使用方法に関する注意事項については、マニュアルページを参照してください。
2。 iwconfig
---iwconfigは、ネットワークカードなどのワイヤレスネットワークインターフェイスを構成するために使用されます。 SSIDアクセスポイントや周波数などのさまざまなワイヤレスネットワークパラメータを設定するために使用できます。ワイヤレスインターフェイスをwlp2s0として識別したとします。 ifconfigを使用します。以下のコマンドは、このインターフェースに関連するネットワーク情報を提供します。
$ iwconfig wlp2s0
以下のコマンドを使用して、送信電力を20に変更します。
$ iwconfig wlp2s0 txpower 20
iwconfigを再度実行して、送信電力が変化するかどうかを確認します。その他の便利なオプションについては、マニュアルページを参照してください。
3。 ifstat
ifstatコマンドは、システム管理者が帯域幅の使用状況などのさまざまなネットワークインターフェイス統計を読み取って監視できるようにする便利なユーティリティです。以下のコマンドは、 SECSごとのサンプル統計を提供します 2番目。
$ ifstat --scan =SECS
次のコマンドは、最後の SECSの平均を報告します 秒。
$ ifstat --interval =SECS
次はエラーを出力します。
$ ifstat --errors
このツールはiproute2プロジェクトの一部です たくさんの追加オプションがあります。その他のクエリについては、マニュアルページを確認してください。
4。 ethtool
ethtoolユーティリティを使用すると、管理者はネットワークインターフェイスコントローラーとそのデバイスドライバーのさまざまなパラメーターを表示および変更できます。イーサネットデバイスの識別と診断に役立ち、速度、デュプレックス、およびフローを便利に制御できます。
$ ethtool eth0
上記のコマンドは、ネットワークポート eth0の現在のパラメータを出力します。 。
$ ethtool -s eth0speed1000デュプレックスフル
このコマンドは、ネットワークインターフェースの速度を強制します eth0 1000になり、全二重を設定します。マニュアルに目を通すだけで、多くの追加オプションを見つけることができます。
5。 arpwatch
arpwatchユーティリティは、システム管理者がネットワークのイーサネット/IPアドレスの組み合わせを簡単に追跡できるようにする堅牢なイーサネットアクティビティ監視ツールです。これは、エンタープライズシステム管理者にとっても、Linuxパワーユーザーにとっても非常に重要です。
-i を使用すると、arpwatchを使用して特定のネットワークインターフェースを監視できます。 以下に示すように、フラグを立てます。
$ sudo arpwatch -i eth0
arpwatchは、変更や異常なアクティビティをIPまたはMACに / var / log / messagesに書き込みます。 。このファイルでtailコマンドを使用して、ARPトラフィックに関する新しい情報を取得します。その他の利用可能なオプションについては、manページを参照してください。
6。 bmon
bmonコマンドは、間違いなく最も便利なLinuxネットワークコマンドの1つです。これは、ネットワーク統計をキャプチャし、人間が読める形式で表示するために使用できる、ポータブルな帯域幅モニターおよびレート推定器です。このLinuxネットワーク監視ツールによって提供されるプログラム可能なテキスト出力は、高度なスクリプトの作成に使用できます。
$ bmon
このツールを呼び出すだけで、ネットワーク統計をリアルタイムで見積もることができます。 -pを使用します 特定のインターフェースの出力を取得するためのフラグ。
$ bmon -p wlp2s0
利用できるオプションは他にもたくさんあります。包括的な詳細については、マニュアルページを確認してください。
通信用のLinuxネットワークコマンド
外部リソースとの通信は、システムネットワークの主な目的です。このセクションでは、この目的で使用されるいくつかの一般的なLinuxコマンドを見ていきます。
7。 telnet
telnetプロトコルは、Linuxシステムでの双方向、対話型、およびテキスト指向の通信の背後にある基本的なメカニズムです。 Linux telnetユーティリティを使用すると、ホストシステムはこの通信プロトコルを利用して別のクライアントシステムに接続できます。端末にtelnetと入力するだけで、インタラクティブシェルを呼び出すことができます。
$ telnet
次に、openと入力し、次にこのシェルで接続するシステムのホスト名/IPを入力します。利用可能なすべてのオプションのリストを取得するためのヘルプを入力してください。
telnet> open example.com
または、このコマンドを使用してホストに直接接続することもできます。以下の例を参照してください。
$ telnet host-machine
プロンプトにユーザーのクレデンシャルを入力するだけで、準備が整います。
8。 ssh
sshコマンドは、間違いなく、多くの管理者が最もよく使用するLinuxネットワークコマンドの1つです。セキュアシェルプロトコルへのインターフェイスを提供し、セキュアネットワーク接続を介した手間のかからない通信を可能にします。リモートサーバーを効果的に管理し、問題なくファイルを転送するために使用できます。
$ ssh [email protected]
パスワードを入力せずに、秘密鍵と公開鍵のペアを設定し、リモートマシンにログインできます。以下のコマンドを使用して、sshキーを生成します。
$ ssh-keygen
デフォルトでは、上記のコマンドはRSA暗号化アルゴリズムを使用してキーを生成します。 -tを使用します DSAなどの他のアルゴリズムを使用するためのフラグ。
9。 sendmail
sendmailコマンドは、Linuxユーザーが端末から直接電子メールメッセージを送信できるようにする便利なユーティリティです。標準の入力を読み取り、ネットワークを介して指定された受信者に電子メールを送信します。このコマンドは、メールを送信するための標準のブラウザがないリモートサーバーでよく役立ちます。
$ echo "件名:テスト" | sendmail [email protected]上記のコマンドは、指定されたファイルの内容を指定された電子メールに送信します。 sendmailで使用できる追加のオプションがたくさんあります。 sendmailに関するその他のクエリについては、manページを参照してください。
10。書く
Linuxなどのマルチユーザーシステムでは、異なるシステムユーザー間でメッセージを送信する機能が非常に重要です。 writeコマンドは、Linuxで端末間の通信セッションを確立するために使用できます。これはインタラクティブなユーティリティであるため、スクリプト内でこのネットワークコマンドを使用することはできません。
$ write user [tty]writeコマンドは、上記の構文を使用して、特定のユーザーまたはすべてのユーザーにメッセージを送信します。複数のユーザーが同じシステムを操作していて、簡単に通信する必要がある場合に便利です。
11。メール
mailコマンドは、端末から電子メールを送信するために不可欠なユーティリティです。以下の例に注目して、その仕組みを理解してください。
$ mail-s"これは件名です"[email protected]-s フラグを使用すると、ユーザーは主題を選択できます。次に示すように、同時に複数の受信者にメールを送信できます。
$ mail-s"これは件名です"example@ unixlinux.online、example @ unixlinux.online受信者のコンマ区切りリストを使用するだけです。 -a フラグを使用すると、ユーザーはメールで添付ファイルを送信できます。
$ mail -s "Subject" -a /tmp/file.pdf [email protected]12。 mailstats
いくつかの理由で、電子メールの統計を一覧表示したい場合があります。 Linuxのmailstatsコマンドを使用すると、これを非常に簡単に行うことができます。このコマンドはrootとして実行する必要があります。そうしないと、機能しません。
#mailstats -pこのコマンドは、プログラム可読モードで出力を提供し、明確な統計を提供します。
#mailstats -f STAT-FILEこのコマンドは、指定された STAT-FILEを読み取ります デフォルトのsendmail統計ファイルの代わりに。利用可能なオプションとコマンドの適切な使用法については、マニュアルページを確認してください。
13。 w
wコマンドは、現在Linuxマシンにログインしているすべてのユーザーを一覧表示する便利な方法を提供します。その構文を以下に示します。
w[オプション]ユーザー[...]このコマンドは、各ユーザーのセッションで実行されているプロセス、エモートホスト、ログイン時間、アイドル時間、JCPU、PCPUなどの多くの貴重な洞察も提供します。
$ w --shortこのコマンドは、ログイン時間、JCPU、またはPCPU時間を省略した簡潔な出力を提供します。
$ w --ip-addrこのコマンドは、ホスト名ではなく、現在ログインしているユーザーのIPアドレスを表示しようとします。マニュアルページで他のオプションを見つけることができます。
データ転送を容易にするためのネットワークコマンド
複数のシステム間でデータを転送することは、システム管理者にとって必須です。 Linuxは、ネットワークを介したリモートデータ転送を便利に促進し、この目的のためにいくつかの非常に堅牢なコマンドラインツールを提供します。このセクションでは、これらのコマンドのいくつかを見ていきます。
14。 cURL
cURLコマンドは、ネットワークサーバーとの間でデータを転送するために最も広く使用されているLinuxコマンドの1つです。 HTTP、HTTPS、FTP、FTPS、SCP、SFTPなどのさまざまなネットワークプロトコルを利用します。cURLコマンドはユーザーの操作を必要としないため、シェルスクリプト内で幅広く使用できます。
$ curl -O https:// somedomain / fileこれにより、指定したアドレスからファイルがダウンロードされ、元の名前で現在のディレクトリに保存されます。
$ curl -o new-name https:// somedomain / fileこのコマンドは、ダウンロードしたファイルを new-nameという名前で保存します。 。 cURLには多数の利用可能なオプションがあるため、このLinuxツールを習得したい場合は、マニュアルを確認する必要があります。
15。 wget
wgetツールはGNUプロジェクトの一部であり、Webサーバーからのコンテンツのダウンロードを容易にします。ファイルを再帰的にダウンロードする機能、オフラインで表示するためにリンクをHTMLに変換する機能、プロキシなど、いくつかの便利なオプションを提供します。
$ wget https:// somedomain / fileこれは単にファイルをダウンロードして現在のディレクトリに保存するだけです。 -Oを使用します このファイルを新しい名前で保存するためのフラグ。
$ wget -O filename https:// somedomain / file-Pを使用します ファイルを他のディレクトリに保存するためのフラグ。
$ wget -P〜/ダウンロードhttps:// somedomain / filewgetは非対話型であり、スクリプト内からファイルをダウンロードするために広く使用されています。
16。 ftp
Linux FTPユーティリティは、リモートホストとの間でファイルをダウンロードまたはアップロードするために広く使用されています。このコマンドは、自動FTPセッションを非常に迅速に作成するためのスクリプト内で使用できます。
$ ftpftp>ターミナルでftpと入力するだけで、インタラクティブセッションが作成されます。 FTP経由でファイルを転送するために、このプロンプトにさまざまなコマンドを入力できます。たとえば、リモートホストへの接続にオープンコモンを使用できます。ヘルプコマンドを入力して、使用可能なすべてのコマンドのリストを取得します。
$ftpホスト名これを使用して、リモートホストに直接接続することもできます。使用可能なすべてのコマンドの詳細については、マニュアルページを参照してください。
17。 rcp
rcpユーティリティを使用すると、ユーザーはファイルまたはディレクトリをローカルシステムからネットワーク上のリモートマシンにコピーできます。コマンドの構文は次のようになります。
rcp[オプション]ソースの宛先たとえば、次のコマンドは、test.docというファイルをリモートマシンにコピーする方法を示しています。
$ rcp /parent/dir/test.doc hostname:/ some / dir以下に示すように、このコマンドを使用してリモートホストからファイルを受信することもできます。
$ rcp hostname:/ some / dir / FILEファイルを受信するときは、ソース部分を省略してください。
18。 scp
scp(secure copy)コマンドは、ネットワークの2つのシステム間でファイルを安全にコピーするために使用されます。機能的にはrcpコマンドと似ていますが、sshコマンドのような安全な認証を実装します。この便利なコマンドを使用して、ファイルとディレクトリの両方をリモートマシンにコピーできます。
$ scp FILE [email protected]:/ some / dir上記のコマンドはFILEをコピーします リモートシステムの/some / dir ディレクトリ。リモートホストが22ではなく他のsshポートをリッスンしている場合は、 -Pを使用できます。 それを指定するフラグ。
$ scp -P2222ファイル[email protected]:/ some / dir追加のオプションとその使用例については、scpのマニュアルページを確認することをお勧めします。
19。 rsync
rsyncユーティリティは、ネットワークを介して接続された2つのシステム間でファイルを効率的に転送および同期するために使用されます。システム管理者は、これを使用して、外部NASサーバーからローカルマシンにファイルを転送することがよくあります。これは、リモートコンピュータとの間でファイルをコピーするための非常に高速で信頼性の高いツールです。
$ rsync -zvh backup.tar / tmp / backups /上記のコマンドは、backup.tarというファイルを一時ディレクトリに同期します。 -zを使用します ファイルデータを圧縮するオプション、 -v 詳細な出力を取得するには、 -h 人間が読める形式の出力を取得します。また、リモートシェルとrsyncデーモンを介したアクセスも可能です。それらの使用法については、マニュアルページを参照してください。
20。 socat
Linux socatツールは、2つの双方向バイトストリームを確立するために使用され、それらの間で非常に効率的にデータを転送できます。 socatコマンドは最も用途の広いLinuxネットワークコマンドの1つであり、非常に多様なユースケースがあります。
$ socat SYSTEM:date STDIOこのコマンドは、現在のシステム日付を取得し、それを標準入力に出力します。
$ socat-TCP:localhost:www、crnl上記のコマンドは、ローカルホストへのWebサーバー接続を開き、端末へのページをフェッチします。ポート番号がサービス名としてどのように渡されたかに注意してください。これは非常に堅牢なコマンドであり、多くの短い形式をサポートしています。それで、彼らを効果的に習得するために彼らのマニュアルページをチェックしてください。
21。 sftp
sftpコマンドは、安全なファイル転送プロトコルを使用してファイルにアクセス、転送、および管理するために使用されます。基本的に、管理者はセキュアシェルを介してFTPを使用できます。 sshおよびftpコマンドを使用できる場合、sftpの使用は非常に簡単です。
$ sftp [email protected]このコマンドは、安全な接続を開き、FTPプロンプトを開始します。デフォルトのsshポート(22)で接続を確立します。多くのシステム管理者は、悪意のあるユーザーを回避するためにsshにカスタムポート番号を使用するため、そのようなシステムに接続するには、そのポート番号を渡す必要があります。
$ sftp -oPort =CUSTOM-PORT [email protected]マニュアルページを読んで、考えられるすべてのオプションとその使用法を調べてください。
22。 sshfs
sshfsコマンドは、間違いなく、リモートファイルシステムをマウントするための最も便利なLinuxネットワークコマンドの1つです。このコマンドの構文は基本的ですが、最新のシステム管理者にとっては用途の広い資産であることがわかります。
$ sshfs [email protected]:/ some / dir / mountpoint上記のコマンドは、リモートファイルシステムを指定されたマウントポイントにマウントします。このコマンドを機能させるには、ユーザーがマウントポイントを所有している必要があることに注意してください。接続を閉じると、リモートファイルシステムは自動的にアンマウントされます。 / etc / fstab を編集することで、永続的にすることができます ファイル。
ネットワークポリシーを管理するためのネットワークコマンド
管理者は、強力なLinuxネットワークコマンドを使用して、Linuxマシンとネットワークにさまざまなポリシーを非常に簡単に設定できます。これらのタスクには、デバイスドライバーのセットアップ、ルーティングポリシーの構成、トンネルの管理などが含まれますが、これらに限定されません。このセクションでは、これらのジョブを容易にするいくつかのコマンドを詳しく見ていきます。
23。ホスト名
hostnameコマンドは、管理者がホスト名またはDNSドメイン名を取得または設定できるようにする便利なユーティリティです。多くの場合、動的ホストを設定したり、特定のホストに関する情報を取得したりするために使用されます。ターミナルにhostnameと入力するだけで、現在のホスト名が表示されます。
$ホスト名次のコマンドは、現在のホスト名を NEW_HOST_NAMEに置き換えます。 。
$ hostname NEW_HOST_NAME-i フラグを使用して、ホスト名の現在のIPアドレスを取得できます。
$ hostname -iこのコマンドで使用できるオプションは他にもあります。それらの詳細については、manページを参照してください。
24。 iptables
Linux iptablesコマンドは、間違いなく、システム管理者に最もよく使用されるLinuxネットワークコマンドの1つです。 iptablesプログラムは、管理者がiptableチェーンを構成し、ファイアウォールを設定できるようにするユーザースペースユーティリティプログラムです。これは、ネットワークへの不正または悪意のあるトラフィックを防ぐための事実上のツールです。
$ sudo iptables -L -n -v上記のコマンドは、システムで使用されている現在のiptablesルールを出力します。次のコマンドは、特定のIPからのすべての着信要求をブロックする方法を示しています。
$ sudo iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP考えられるiptablesコマンドは多数あり、この投稿で包括的な詳細を見つけることができます。
25。ルート
routeコマンドを使用して、システムのIPルーティングテーブルを表示および操作できます。これにより、管理者はカーネルルーティングテーブルを簡単に編集し、必要な機能を設定できます。このコマンドはMicrosoftWindowsシステムでも使用できるため、非常に広く使用されています。
$ sudo route -nこのコマンドは、現在のIPルーティングテーブルを一覧表示します。次のコマンドは、マシンのデフォルトゲートウェイを追加する方法を示しています。
$ sudo route add default gw xxx.xxx.xxx.xxx以前のコマンドを使用して、新しいゲートウェイを確認できます。利用可能なすべてのオプションの包括的なリストについては、マニュアルページを確認してください。
26。掘る
digコマンドを使用すると、管理者はドメインネームシステム(DNS)を照会できます。 ネットワークのトラブルシューティングやその他の目的のため。 Digは、LinuxマシンのデフォルトのDNSリゾルバーを利用し、国際化ドメイン名(IDN)をサポートします。 クエリ。次の例は、digがホストのDNSレコード情報を簡単に提供する方法を示しています。
$ dig example.com+ shortを使用します 簡潔な出力を取得するためのオプション。
$ dig example.com + shortMXを使用してさまざまなタイプのDNSリソースレコードをクエリすることもできます。
$ dig example.com MX考えられるすべての使用例と利用可能なオプションを理解するには、マニュアルページをお読みください。
27。 ip
ipコマンドを使用すると、LinuxユーザーはIPユーティリティをすばやく活用して、ルーティング、デバイス、ポリシールーティング、およびトンネルを操作できます。これは非常に動的なツールであり、多数の堅牢なオプションを提供します。次の例は、このツールを使用してすべてのネットワークインターフェイスのIPアドレスを表示する方法を示しています。
$ ip addr短縮形aを使用できます 、 addrの代わりに 。次のコマンドは、現在実行中のインターフェースのみの情報を取得する方法を示しています。
$ ip link ls up次の例は、IPアドレスを特定のインターフェースに割り当てる方法を示しています。
$ ip a add 192.168.1.XXX/24 dev eth0このコマンドは、さまざまな追加オプションをサポートしています。したがって、マニュアルページを確認することを忘れないでください。
28。 nslookup
nslookupユーティリティは、システム管理者がドメインネームシステムにクエリを実行してドメイン名またはIPアドレスのマッピングを取得できるようにする強力なコマンドラインツールです。これは、WindowsやReactOSとともに、ほとんどのUnixライクなシステムで利用できます。以下のコマンドは、主な使用法を示しています。
$ nslookup example.comホストのドメイン名やIPアドレスなどの情報を提供します。次のコマンドは、利用可能なすべてのDNSレコードを表示します。
$ nslookup -type =any example.com次のコマンドは、指定されたホストのMXレコードに対して実行されます。
$ nslookup -type =mx google.comネットワーク診断とトラブルシューティングのためのLinuxコマンド
ネットワークを効果的に診断することは、ほとんどのシステム管理者にとってより大きな関心事です。次のセクションでは、この目的に役立つコマンドをいくつかリストします。
29。 netstat
netstatユーティリティは、TCPプロトコルのネットワーク接続、ルーティングテーブル、ネットワークインターフェイス統計、マスカレード接続、およびマルチキャストメンバーシップを表示します。これは、ネットワーク診断に最も広く使用されているコマンドの1つです。
$ netstat -a |詳細上記のコマンドは、現在の状態に関係なく、すべてのネットワークソケットを表示します。次のコマンドを使用して、TCPポートのみを表示します。
$ netstat -attを置き換えます uで UDPポートを一覧表示する場合。次のコマンドは、リスニングポートのみを表示します。
$ netstat -l </ pre>tを追加します またはu -lの後 リッスンしているTCP/UDPポートのみを一覧表示する場合。利用可能なすべてのオプションについては、マニュアルページを確認してください。
30。 ping
Unixライクなオペレーティングシステムでは、pingコマンドは、インターネットプロトコルネットワーク上のホストの到達可能性を判断するために頻繁に使用されます。これは、事実上すべてのシステムで使用できるユニバーサルネットワーキングコマンドです。次の例は、pingの主な使用法を示しています。
$ ping example.comこれにより、手動で終了するまで、ホストにパケットが送信され続けます。 -cを使用します パケット数を指定するオプション。
$ ping -c 5 example.com-sを使用してパケットのサイズを決定することもできます フラグ。
$ ping -s 40 -i 2 -c 5 example.com-i オプションは、時間間隔をデフォルトの1秒から2秒に変更するために使用されます。
31。 traceroute
tracerouteコマンドは通常、ルートを表示し、ネットワーク全体のパケットの通過遅延を測定するために使用されます。これは、最新のシステム管理者にとって便利なツールであり、多くの重要な洞察を提供します。パケットの送信元から宛先までのパスをすばやく判別できます。また、データの損失を判断するのにも役立ちます。
$ traceroute -4 10 example.com-4 IPv4を使用していることを指定するために使用されます。 IPv6パケットの場合は4を6に置き換えます。
$ traceroute -g xxx.xxx.xxx.xxx example.com上記のコマンドは、指定されたゲートウェイを介してパケットをルーティングします。利用可能なすべてのオプションについては、マニュアルページを確認してください。
32。 iftop
iftopユーティリティは、帯域幅の使用状況などのさまざまなネットワークパラメータに対してリアルタイムのフィードバックを提供する最も便利なLinuxネットワークコマンドの1つです。 topまたはhtopを使用したことがある場合、iftopはそれらと非常によく似ています。このツールは非常に有用であるため、現代のLinuxユーザーにとって実行可能な資産であることがわかります。
$ sudo iftopこのコマンドをsudoとして実行すると、ネットワークインターフェイスによる現在の帯域幅使用量がわかります。 -i を指定して、監視するインターフェースを指定できます フラグ。
$ sudo iftop -i wlp2s0ワイヤレスインターフェイスに関する情報のみが表示されます。他にもたくさんのオプションがあります。
33。 nload
nloadユーティリティは、ネットワーク帯域幅を監視するためのもう1つのコマンドラインツールです。転送されたデータの総量や最小/最大帯域幅使用量の表示など、いくつかの有利な機能を備えています。引数なしでnloadを直接呼び出すと、使用可能な各インターフェイスの帯域幅使用量が表示されます。
$ nloadデバイスを使用する 以下の例に示すように、特定のインターフェイスを指定するためのオプション。
$ nload devices wlp1s0-tフラグを使用して、表示の更新間隔をミリ秒単位で設定することもできます。
$ nload devices wlp1s0 -t 40034。 ss
ssコマンドは、ネットワークソケットに関連する有用な情報を提供します。 netstatなどの他のLinux監視ツールと比較すると、非常に詳細な情報を表示できます。端末からssを直接呼び出すと、状態に関係なく、すべての接続の膨大なリストが表示されます。
$ ss -l </ pre>-l </ strong>を使用して、リスニングソケットのみを一覧表示するように指定できます。 国旗。 -t フラグはTCP接続のみを表示するために使用されます。
$ ss -lt-pを使用します 以下に示すように、アクティブなソケットのプロセスIDを取得するためのフラグ。
$ ss -p利用可能なオプションについては、manページを参照してください。
35。 whois
whoisユーティリティは、ネットワークに関するドメインとIPの両方に関連する情報を取得するために広く使用されているLinuxツールです。 whoisプロトコルのクライアントとして機能し、whoisデータベースにネットワークリソースを照会することで情報を提供します。
$ whois example.com上記のコマンドは、指定されたホストに関する詳細なネットワークリソース情報を出力します。このコマンドは多くの情報を提供するため、grepを使用して特定のデータを取得できます。
$ whois example.com | grep-i"ドメインID"上記のコマンドは、指定されたホストのドメインIDを含む行を出力します。ネームサーバーやドメインステータスなどの追加情報にも使用できます。
リソースを分析するためのネットワークコマンド
ネットワークパケットの分析は、システム管理者と侵入テスターの両方にとって非常に重要です。このセクションでは、これを効率的に行うための基本的なLinuxコマンドについて説明します。
36。 tcpdump
Linux用の事実上のコマンドラインパケットアナライザはtcpdumpです。ネットワークを介したTCPパケットの送信を非常に効果的に表示できます。普遍的に利用できるため、ネットワークトラフィックのキャプチャと分析に一般的に使用されます。
$ sudo tcpdump -D上記のコマンドは、TCPパケットのキャプチャに使用できるインターフェイスを表示します。次のコマンドを使用して、特定のインターフェイスからパケットを簡単にキャプチャできます。
$ sudo tcpdump -i eth0これは、デフォルトのイーサネットインターフェイスを介して送信されたパケットのみをキャプチャします。マニュアルページをチェックして、考えられるすべてのオプションを調べてください。
37。 dhclient
dhclientユーティリティは、堅牢な DHCP(動的ホスト構成プロトコル)です。 クライアント。これは、クライアントのIPアドレス、サブネットマスク、デフォルトゲートウェイ、およびDNSサーバー情報を分析するために頻繁に使用されます。また、管理者は特定のネットワークインターフェイスのIPアドレスを解放して、新しいIPアドレスを取得することもできます。
$ sudo dhclient eth0上記のコマンドは、イーサネットインターフェースの動的に割り当てられたIPアドレスを更新します eth0 。
38。 dstat
dstatユーティリティは、Linuxでシステムリソース統計を生成するための非常にやりがいのあるコマンドラインツールです。多数の堅牢な機能を提供し、Pythonプログラミング言語を使用して簡単に拡張できます。これは、従来のvmstatユーティリティの価値のある代替品です。
$ dstatオプションなしでこのコマンドを実行すると、システムリソース統計がリアルタイムで表示されます。次のコマンドは、CPU使用率、最も多くのCPUを使用しているプロセス、および最も多くのRAMを消費しているプロセスを出力します。
$ dstat -c --top-cpu --top-memその他の利用可能なオプションについては、manページを参照してください。
39。 tshark
Wiresharkユーティリティは、最も機能が豊富なパケットアナライザの1つです。その能力はtcpdumpをかなりの差で上回り、フォレンジックで広く使用されています。パッケージマネージャーを使用して簡単にインストールできます。コマンドラインパッケージはtsharkと呼ばれます。
$ sudo tshark -Dこれにより、ネットワークトラフィックのキャプチャに使用できるすべての使用可能なインターフェイスが一覧表示されます。次のコマンドは、イーサネットインターフェース eth0を使用してデータをキャプチャする方法を示しています。 。
$ sudo tshark -i eth040。 hping3
hping3コマンドは、hpingユーティリティを呼び出すために使用されます。これは、TCPパケットを非常に効率的にキャプチャおよび分析/アセンブルできる、強力な現代のパケットアナライザです。 LinuxやBSDを含むほとんどのUnixシステムで利用できます。
#sudo hping3コマンドを入力できるインタラクティブなhping3セッションが開始されます。次のコマンドは、eth0インターフェイスからTCPトラフィックをキャプチャします。
> hping recv eth0インタラクティブシェルの外部でhpingを使用することもできます。これを行う方法については、manページを参照してください。
終わりの考え
Linuxの堅牢なネットワーキング機能は、現在の成功に大きく貢献しています。必要なネットワーキングツールの種類に関係なく、Linuxで対応できます。ただし、Linuxネットワークコマンドが多すぎると、多くのユーザーが適切なツールを選択するのが非常に困難になる可能性があります。そのため、編集者はこの40の便利なコマンドを自由に指摘してくれました。ネットワーキング活動のためのツールを少なくとも1つ見つけることができます。うまくいけば、私たちはあなたが探していた本質的な洞察を提供することができました。いくつかのコマンドをさらに詳しく調べたい場合は、コメントを残してください。
Linux