userdaydetail.php 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/auth.php");
  3. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/" . HTML_LANG . ".php");
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header.php");
  5. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/idfilter.php");
  6. $default_date_shift='d';
  7. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/datefilter.php");
  8. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/gatefilter.php");
  9. $usersip = mysqli_query($db_link, "SELECT ip,user_id,comments FROM User_auth WHERE User_auth.id=$id");
  10. list ($fip, $parent, $fcomm) = mysqli_fetch_array($usersip);
  11. $rdns = 0;
  12. if (isset($_POST['dns'])) { $rdns=$_POST['dns']*1; }
  13. $_SESSION[$page_url]['dns']=$rdns;
  14. $dns_checked='';
  15. if ($rdns) { $dns_checked='checked="checked"'; }
  16. print_trafdetail_submenu($page_url,"id=$id&date_start='$date1'&date_stop='$date2'","<b>Детализация для <a href=/admin/users/editauth.php?id=$id>$fip</a></b> ::&nbsp");
  17. ?>
  18. <div id="cont">
  19. <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  20. <input type="hidden" name="id" value=<?php echo $id; ?>>
  21. Начало:&nbsp<input type="date" name="date_start" value="<?php echo $date1; ?>" />
  22. Конец:&nbsp<input type="date" name="date_stop" value="<?php echo $date2; ?>" />
  23. Шлюз:&nbsp <?php print_gateway_select($db_link, 'gateway', $rgateway); ?>
  24. DNS:&nbsp <input type=checkbox name=dns value="1" <?php print $dns_checked; ?>>
  25. <input type="submit" value="OK">
  26. </form>
  27. <br>
  28. <b>Топ 10 по входящему трафику</b>
  29. <table class="data">
  30. <tr align="center">
  31. <td class="data" width=30><b>Протокол</b></td>
  32. <td class="data" width=150><b>Откуда</b></td>
  33. <td class="data"><b>DNS</b></td>
  34. <td class="data" width=50><b>Порт</b></td>
  35. <td class="data" width=80><b>Байт</b></td>
  36. </tr>
  37. <?php
  38. $ip_aton = ip2long($fip);
  39. $gateway_filter='';
  40. if (!empty($rgateway) and $rgateway>0) { $gateway_filter="(router_id=$rgateway) AND"; }
  41. $fsql = "SELECT A.proto, A.src_ip, A.src_port, SUM(A.bytes) as tin FROM Traffic_detail A
  42. WHERE $gateway_filter (auth_id='$id') and `timestamp`>='$date1' and `timestamp`<'$date2' and (A.dst_ip='$ip_aton')
  43. GROUP BY A.src_ip, A.src_port, A.proto ORDER BY tin DESC LIMIT 0,10";
  44. $userdata = mysqli_query($db_link, $fsql);
  45. while (list ($uproto, $uip, $uport, $ubytes) = mysqli_fetch_array($userdata)) {
  46. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  47. print "<td class=\"data\">" . $uproto . "</td>\n";
  48. print "<td class=\"data\" align=left>" . long2ip($uip) . "</td>\n";
  49. $ip_name = '-';
  50. if ($rdns) { $ip_name = ResolveIP($db_link,$uip); }
  51. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  52. print "<td class=\"data\">" . $uport . "</td>\n";
  53. print "<td class=\"data\" align=right>" . fbytes($ubytes) . "</td>\n";
  54. print "</tr>\n";
  55. }
  56. ?>
  57. </table>
  58. <b>Топ 10 по исходящему трафику</b>
  59. <table class="data">
  60. <tr align="center">
  61. <td class="data" width=30><b>Протокол</b></td>
  62. <td class="data" width=150><b>Куда</b></td>
  63. <td class="data"><b>DNS</b></td>
  64. <td class="data" width=50><b>Порт</b></td>
  65. <td class="data" width=80><b>Байт</b></td>
  66. </tr>
  67. <?php
  68. $fsql = "SELECT A.proto, A.dst_ip, A.dst_port, SUM(A.bytes) as tout FROM Traffic_detail A
  69. WHERE $gateway_filter (auth_id='$id') and `timestamp`>='$date1' and `timestamp`<'$date2' and (A.src_ip='$ip_aton')
  70. GROUP BY A.dst_ip, A.dst_port, A.proto ORDER BY tout DESC LIMIT 0,10";
  71. $userdata = mysqli_query($db_link, $fsql);
  72. while (list ($uproto, $uip, $uport, $ubytes) = mysqli_fetch_array($userdata)) {
  73. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  74. if ($uproto==='6') { $uproto = 'tcp'; }
  75. if ($uproto==='17') { $uproto = 'udp'; }
  76. print "<td class=\"data\">" . $uproto . "</td>\n";
  77. print "<td class=\"data\" align=left>" . long2ip($uip) . "</td>\n";
  78. $ip_name = '-';
  79. if ($rdns) { $ip_name = ResolveIP($db_link,$uip); }
  80. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  81. print "<td class=\"data\">" . $uport . "</td>\n";
  82. print "<td class=\"data\" align=right>" . fbytes($ubytes) . "</td>\n";
  83. print "</tr>\n";
  84. }
  85. ?>
  86. </table>
  87. <?php
  88. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  89. ?>