web-dev-qa-db-ja.com

ターミナルを使用してリアルタイムのインターネット使用状況を表示する方法は?

アップリンクおよびダウンリンクの速度、その他の統計などサードパーティソフトウェアなし

Iftopを使用します。

Sudo apt-get install iftopでインストール(290 KB)し、Sudo iftop.で開始します

ワイヤレスインターネットトラフィックを監視する場合は、Sudo iftop -i wlp3s0を使用します。

ここで、-iはインターフェイスを指し、wlp3s0は私のワイヤレスインターフェイスです(lspciを実行して確認してください)。

enter image description here

2
Mookey

組み込まれているツールはあまり多くありませんが、スレッドを読み進めると、すでにインストールされているものを見つけることができる素晴らしいページがあります。

端末でネットワークトラフィックを表示する方法

これらはすべて、これがインストールされているマシンのローカルトラフィックのみを表示します。ネットワーク全体を監視する場合は、マシンをプロキシサーバーまたはファイアウォールとして使用し、すべてのマシンにこのマシンを通過させる必要があります。ほとんどのファイアウォールにはトラフィックモニターが組み込まれているため、トラフィックの発信元と発信先を確認できます。

たとえば、/ proc/net/devの周りにスクリプトを書くことができます:

#!/bin/bash

dev=$1
[[ -z $1 ]] && dev=$(grep -o "eth." /proc/net/dev | head -1)


function getcount
{
        echo $(grep $dev /proc/net/dev | tr ':' ' ' | tr -s ' ' | cut -d ' ' -f 3,11)
}


current=($(getcount))
[[ -z $current ]] && echo "No network device \"$dev\"" && exit 1

printf "%10s %4s %4s \n" Device Recv Send

for i in $(seq 1000)
do
        sleep 1
        new=($(getcount))
        recvdiff=$(( ${new[0]} - ${current[0]} ))
        senddiff=$(( ${new[1]} - ${current[1]} ))
        recvdiff=$(( $recvdiff / 1024 ))
        senddiff=$(( $senddiff / 1024 ))
        printf "%10s %4d %4d\r" $dev $recvdiff $senddiff
        current=(${new[*]})
done
0
xenoid