#linux #bash #networking #fedora #bash4
#linux #bash #сеть #fedora #bash4
Вопрос:
Я пытаюсь написать в BASH свое собственное отслеживание, такое как показано во вложении.
В частности, мне нужно отслеживать историю получения и отправки данных в сети. Где я могу получить эти сетевые значения отправки / получения, это в файле или это выводится из некоторых команд в Linux?
Используя BASH, я пытаюсь реализовать что-то подобное, как показано ниже:
пример:
/* My 10 seconds timer */
t = new javax.swing.Timer(10000, new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
}
});
Продолжение: (хороший сайт: http://www.debianhelp.co.uk/networktools1.htm )
$ sudo apt-get install bwm-ng;
yum -y install bwm;
# Show me only plain mode
$ bwm-ng -o plain
bwm-ng v0.6 (delay 0.500s); press 'ctrl-c' to end this
/proc/net/dev
| iface Rx Tx Total
==============================================================================
lo: 88803.53 KB/s 88803.53 KB/s 88803.53 KB/s
eth0: 0.13 KB/s 0.13 KB/s 0.13 KB/s
------------------------------------------------------------------------------
total: 88803.66 KB/s 88803.66 KB/s 88803.66 KB/s
# Show only the interface that i need to see
$ bwm-ng -o plain -I eth0
bwm-ng v0.6 (delay 0.500s); press 'ctrl-c' to end this
/proc/net/dev
| iface Rx Tx Total
==============================================================================
eth0: 0.13 KB/s 0.13 KB/s 0.13 KB/s
------------------------------------------------------------------------------
total: 0.13 KB/s 0.13 KB/s 0.13 KB/s
# Show only in MB format or KB format
# by skiping -d will default show as KB
$ bwm-ng -o plain -d
bwm-ng v0.6 (delay 0.500s); press 'ctrl-c' to end this
/proc/net/dev
/ iface Rx Tx Total
==============================================================================
lo: 85.79 MB/s 85.79 MB/s 85.79 MB/s
eth0: 246.58 B/s 246.58 B/s 246.58 B/s
------------------------------------------------------------------------------
total: 85.79 MB/s 85.79 MB/s 85.79 MB/s
$ bwm-ng -o plain -N -d | grep total:
total: 0.00 B/s 0.00 B/s 0.00 B/s
total: 1.28 MB/s 1.28 MB/s 1.28 MB/s
total: 1.19 MB/s 1.19 MB/s 1.19 MB/s
total: 1.19 MB/s 1.19 MB/s 1.19 MB/s
# another tool i used apt-get install vnstat
# bwm-ng was doing wrong strange on other interfaces but this one
# now showing correct
$ vnstat -u -i lo
$ vnstat -u -i eth0
$ vnstat
$ iftop -i eth0
Ответ №1:
РЕДАКТИРОВАТЬ: простой способ: вы всегда можете использовать mrtg или cacti вместо того, чтобы делать это самостоятельно.
в противном случае… ввод и вывод байтов каждые 2 секунды (нажмите ctrl c, чтобы остановить это):
default_device=$(awk ' { if ($2 == '00000000') print $1 ; } ' < /proc/net/route)
while true
do
bytesin=$(grep $default_device /proc/net/dev | cut -d':' -f2 | awk ' { print $1; } ')
bytesout=$(grep $default_device /proc/net/dev | cut -d':' -f2 | awk ' { print $9; } ')
echo bytesin=$bytesin bytesout=$bytesout
sleep 2
done
вы получите вывод, подобный этому:
bytesin=622734605 bytesout=1249429296
bytesin=622735091 bytesout=1249429620
bytesin=622735523 bytesout=1249430120
bytesin=622736268 bytesout=1249430481
bytesin=622736874 bytesout=1249430535
значения получены для устройства, на котором установлен маршрут по умолчанию.
Комментарии:
1. Ваш скрипт никогда не показывает 0 байт. Где мой системный диспетчер задач, как показано на снимке экрана. Иногда показывает 0 байт. Кто сейчас действительно запутался? 🙂
2. это счетчики, которые всегда увеличиваются; чтобы получить передачу в секунду, вам нужно вычислить ее, используя смежные значения и временное окно, в котором считываются значения
3. Обновите мое продолжение выше. bwm также был очень полезен.
Ответ №2:
Вы можете написать свой собственный скрипт для синтаксического анализа :
- вывод top -b -n1 для процессора
- свободно для памяти / подкачки
- ifconfig eth0 для сети # замените eth0 своим устройством
Комментарии:
1. ifconfig wlan0 никогда не показывает TX / RX как 0 байт, где я вижу здесь, он показывает 0 байт, кому я доверяю system task manager или ifconfig? Всегда ли я тогда отправляю и получаю байты? например: Смотрите здесь: i.imgur.com/TY7hK.png