Как получить байты TX/RX без ifconfig?

Вам нужна VPN. Я предлагаю openvpn. Ее очень легкое для установки, по сравнению с другими решениями VPN. Я запустил бы с простого статического ключевого метода.

Вы установили бы поле с openvpn на обеих подсетях, установили бы openvpn со статическим ключом, затем на Вашей установке маршрутизаторов статический маршрут к прямому трафику к openvpn. Обе LAN должна будет быть на различных подсетях.

62
задан 24 August 2013 в 22:28
4 ответа

Другой вариант - использовать файловая система / proc. Файл / proc / net / dev содержит статистику о настроенных сетевых интерфейсах. Каждая строка предназначена для одного сетевого интерфейса и содержит статистику приема и передачи. Статистика включает такие показатели, как общее количество полученных / переданных байтов, пакетов, отбрасываний, ошибок и т. Д.

cat /proc/net/dev

    Inter-|   Receive                                                |  Transmit
     face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed

    lo:    29846937   129576     0    0    0     0          0       0 29846937   129576     0    0    0     0       0          0
 wlan0:    9467393340 8027251    0    0    0     0          0       0 2559312961 5896509    0    0    0     0       0          0

Или вы можете попробовать команду netstat , которая может отображать все сетевые интерфейсы и соответствующую статистику:

netstat -i

Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
lo         65536   0   130435      0      0      0   130435      0      0      0 LRU
wlan0       1492   0  8028018      0      0      0  5897361      0      0      0 BMRU
]
53
ответ дан 28 November 2019 в 19:31

Команда ip , которая является частью пакета iproute2, является новым инструментом. Подкоманда link предназначена для управления устройствами / интерфейсами.

Если вы можете получить статистику интерфейса с помощью ip -s link

root:~# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    50679705   529967   0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    50679705   529967   0       0       0       0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1d:7d:aa:e3:4e brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    187663757  308710386 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    4051284587 532435117 0       0       0       0
55
ответ дан 28 November 2019 в 19:31

Вы можете получить всю необходимую информацию через proc

# cat /sys/class/net/eth0/statistics/rx_bytes
# cat /sys/class/net/eth0/statistics/rx_packets

# cat /sys/class/net/eth0/statistics/tx_packets
# cat /sys/class/net/eth0/statistics/tx_bytes

Также вы можете использовать iptables и проанализировать вывод.

Для принятых пакетов

# iptables -L INPUT -n -v

для переданных пакетов

# iptables -L OUTPUT -n -v 

Если сервер является шлюзом, вам также следует проанализировать цепочку FORWARD

46
ответ дан 28 November 2019 в 19:31

Вы можете прочитать файл / sys / class / net / wlp3s0 / statistics / rx_bytes и получить rx_byes напрямую, не вызывая другую команду, vnstat тоже хорошо. Насколько я знаю, Linux хранит всю информацию в файлах, поэтому лучше найти эти файлы и получить информацию. Найти нужный файл - непростая задача.

2
ответ дан 28 November 2019 в 19:31

Теги

Похожие вопросы