Linuxシステムの運用では、ツールを使用してネットワークトラフィックを監視できますが、高速ネットワーク監視には特定の制限があります。以下の小シリーズでは、Linuxがシェルスクリプトを使用して高速ネットワークトラフィックを監視する方法を紹介します。
この記事では、ネットワークトラフィックを監視することができ、低速のlibpcapライブラリに依存しない、単純なシェルスクリプトを記述します。これらのスクリプトは、Gbと同じサイズの高速ネットワークインターフェースをサポートしており、「集約タイプ」のネットワークトラフィックに関心がある場合は、各ネットワークインターフェースのトラフィックをカウントできます。
スクリプトは主にsysfs仮想ファイルシステムに基づいています。これはカーネルがデバイスまたはドライバ関連の情報をユーザー空間に出力するために使用するメカニズムです。ネットワークインターフェースの関連分析データは、/sys /class /net /"ethX" /statisticsから出力されます。
たとえば、eth0ネットワークポートの分析レポートは次のファイルに出力されます。
/sys /class /net /eth0 /statistics /rx_packets:受信パケットデータ
/sys /class /net /eth0 /statistics /tx_packets:送信パケット数
/sys /class /net /eth0 /statistics /rx_bytes:受信バイト数
/sys /class /net /eth0 /statistics /tx_bytes:転送されたバイト数
/sys /class /net /eth0 /statistics /rx_dropped:パケット受信時にドロップされたデータ量< Br> これらのデータは、カーネルデータが変更されると自動的に更新されます。したがって、トラフィック統計を分析および計算するための一連のスクリプトを作成できます。これがこのようなスクリプトです(joemillerのおかげで)。最初のスクリプトは、受信(RX)または送信(TX)を含む、1秒あたりのデータ量を数えることです。後者は、ネットワーク伝送における受信(RX)送信(TX)帯域幅の説明である。これらのスクリプトでのインストールにツールは必要ありません。 1秒あたりのネットワークポートデータの測定: #! /bin /bash INTERVAL =' 1秒の更新間隔 if [-z' $ 1>]; then echo エコー使用量:$ 0 [ネットワークインタフェース] echo echo eg $ 0 eth0 echo echoは1秒あたりのパケット数を示します exit fi IF = $ 1 trueのとき do R1 = `cat /sys /class /net /$ 1 /statistics /rx_packets T1 = `cat /sys /class /net /$ 1 /statistics /tx_packets sleep $ INTERVAL R2 =` Cat /sys /class /net /$ 1 /statistics /rx_packets T2 = `cat /sys /class /net /$ 1 /statistics /tx_packets TXPPS =` expr $ T2 - $ T1` RXPPS = `expr $ R2 - $ R1` echo' TX $ 1:$ TXPPS pkts /s RX $ 1:$ RXPPS pkts /s' done
前12次合計2ページ
UPSオフィスソフトウェアをインストールするとき、Ubuntu 64ビットシステムには時々エラーがあります。次の小さなシリーズは、理解するために、一緒にUbuntuイ
LinuxでプロキシサーバーとLANファイアウォールを設定するユーザーは操作を理解できないため、いくつかの問題に遭遇します。それをみんなに説明しましょう、見てみましょう。 プロキシ(1) Q質問
のVMware Toolsは、通常のVMware、Linuxをインストールした後にVMware Toolsをインストールする必要がありますする必要があるVMware社に
Linuxシステムの戦隊ユーザアカウントの管理とは、ユーザアカウントの追加、変更、および削除を意味します。 Linuxシステムには複数のユーザーが存在する可能性があるため、ユーザーアカウントの管理も非