portmactable.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/auth.php");
  3. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/" . $language . ".php");
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/idfilter.php");
  5. ?>
  6. <html>
  7. <head>
  8. <title>Панель администратора</title>
  9. <link rel="stylesheet" type="text/css" href=<? echo "\"/$style.css\""; ?>>
  10. <meta http-equiv="content-type" content="application/xhtml+xml">
  11. <meta charset="UTF-8">
  12. </head>
  13. <body>
  14. <div id="cont">
  15. <?php
  16. $port_id = $id;
  17. $sSQL = "SELECT DP.port, DP.snmp_index, D.device_name, D.ip, D.snmp_version, D.community, D.fdb_snmp_index FROM `device_ports` AS DP, devices AS D WHERE D.id = DP.device_id AND DP.id=$port_id";
  18. $port_info = mysqli_query($db_link, $sSQL);
  19. list ($f_port, $f_snmp_index, $f_switch, $f_ip, $f_version, $f_community, $f_snmp) = mysqli_fetch_array($port_info);
  20. $display_name = " $f_port свича $f_switch";
  21. print "<b>$f_switch [$f_port] </b><br>\n";
  22. if ($f_snmp_index > 0) {
  23. print "<table class=\"data\" cellspacing=\"1\" cellpadding=\"4\">\n";
  24. print "<tr><td><b>Список маков активных на порту</b></td></tr>\n";
  25. if (! $f_snmp) {
  26. $f_snmp_index = $f_port;
  27. }
  28. $fdb = get_fdb_port_table($f_ip, $f_snmp_index, $f_community, $f_version);
  29. foreach ($fdb as $a_mac => $a_port) {
  30. print "<tr>";
  31. $auth = get_auth_by_mac($db_link, dec_to_hex($a_mac));
  32. print "<td class=\"data\">" .$auth['auth'] . "</td><td class=\"data\">". $auth['mac']."</td>\n";
  33. print "</tr>";
  34. }
  35. print "</table>\n";
  36. }
  37. ?>
  38. <table class="data">
  39. <tr>
  40. <td>Mac</td>
  41. <td>User</td>
  42. <td>Last found</td>
  43. </tr>
  44. <?php
  45. print "<b>Список маков когда-либо обнаруженных на порту</b><br>\n";
  46. $d_sql = "select A.ip,A.ip_int,A.mac,A.id,A.dns_name,A.last_found from User_auth as A, connections as C where C.port_id=$port_id and A.id=C.auth_id order by A.ip_int";
  47. $t_device = mysqli_query($db_link, $d_sql);
  48. while (list ($f_ip, $f_int, $f_mac, $f_auth_id, $f_dns, $f_last) = mysqli_fetch_array($t_device)) {
  49. $name = $f_ip;
  50. if (isset($f_dns) and $f_dns != '') {
  51. $name = $f_dns;
  52. }
  53. print "<tr>";
  54. print "<td class=\"data\">" . expand_mac($db_link,$f_mac) . "</td>\n";
  55. print "<td class=\"data\"><a href=\"/admin/users/editauth.php?id=$f_auth_id\">" . $name . "</a></td>\n";
  56. print "<td class=\"data\">$f_last</td>\n";
  57. print "</tr>";
  58. }
  59. $maclist = mysqli_query($db_link, "SELECT mac,timestamp from Unknown_mac where port_id=$port_id order by timestamp desc");
  60. while (list ($fmac, $f_last) = mysqli_fetch_array($maclist)) {
  61. print "<tr>";
  62. print "<td class=\"data\">" . expand_mac($db_link,$fmac) . "</td>\n";
  63. print "<td class=\"data\">Unknown</td>\n";
  64. print "<td class=\"data\">$f_last</td>\n";
  65. print "</tr>";
  66. }
  67. ?>
  68. </table>
  69. </body>
  70. </html>