diff options
Diffstat (limited to 'libs/network.php')
| -rw-r--r-- | libs/network.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/libs/network.php b/libs/network.php new file mode 100644 index 0000000..12521bf --- /dev/null +++ b/libs/network.php @@ -0,0 +1,32 @@ +<?php +require 'Utils/Misc.class.php'; + +$datas = array(); + +if (!(exec('/sbin/ifconfig | awk -F " " \'{print $1}\' | sed -e \'/^$/d\'', $getInterfaces))) +{ + $datas[] = array('interface' => 'N.A', 'ip' => 'N.A'); +} +else +{ + exec('/sbin/ifconfig | awk \'/inet / {print $2}\' | cut -d \':\' -f2', $getIps); + + foreach ($getInterfaces as $key => $interface) + { + // Get transmit and receive datas by interface + exec('cat /sys/class/net/'.$interface.'/statistics/tx_bytes', $getBandwidth_tx); + exec('cat /sys/class/net/'.$interface.'/statistics/rx_bytes', $getBandwidth_rx); + + $datas[] = array( + 'interface' => $interface, + 'ip' => $getIps[$key], + 'transmit' => Misc::getSize($getBandwidth_tx[0]), + 'receive' => Misc::getSize($getBandwidth_rx[0]), + ); + + unset($getBandwidth_tx, $getBandwidth_rx); + } +} + + +echo json_encode($datas);
\ No newline at end of file |
