userdaydetail.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php
  2. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/auth.php");
  3. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/sqlt.php");
  4. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/languages/" . $language . ".php");
  5. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header.php");
  6. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/idfilter.php");
  7. $default_date_shift='d';
  8. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/datefilter.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. ?>
  12. <div id="cont">
  13. <?php print "<b>Детализация для <a href=../users/editauth.php?id=$id>$fip</a></b><br>\n"; ?>
  14. <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
  15. <input type="hidden" name="id" value=<? echo $id; ?>>
  16. Начало:&nbsp<input type="date" name="date_start" value="<?php echo $date1; ?>" />
  17. Конец:&nbsp<input type="date" name="date_stop" value="<?php echo $date2; ?>" />
  18. Отображать:<?php print_row_at_pages('rows',$displayed); ?>
  19. <input type="submit" value="OK">
  20. </form>
  21. <br>
  22. <b>Топ 10 по входящему трафику</b>
  23. <table class="data">
  24. <tr align="center">
  25. <td class="data" width=30><b>Протокол</b></td>
  26. <td class="data" width=150><b>Откуда</b></td>
  27. <td class="data"><b>DNS</b></td>
  28. <td class="data" width=50><b>Порт</b></td>
  29. <td class="data" width=80><b>Байт</b></td>
  30. </tr>
  31. <?php
  32. $ip_aton = ip2long($fip);
  33. $fsql = "SELECT A.proto, A.src_ip, A.src_port, SUM(A.bytes) as tin FROM Traffic_detail A
  34. WHERE (auth_id='$id') and (date(`timestamp`)>='$date1' and date(`timestamp`)<'$date2') and (A.dst_ip='$ip_aton')
  35. GROUP BY A.src_ip, A.src_port, A.proto ORDER BY tin DESC LIMIT 0,10";
  36. $userdata = mysqli_query($dbt_link, $fsql);
  37. while (list ($uproto, $uip, $uport, $ubytes) = mysqli_fetch_array($userdata)) {
  38. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  39. print "<td class=\"data\">" . $uproto . "</td>\n";
  40. print "<td class=\"data\" align=left>" . long2ip($uip) . "</td>\n";
  41. $ip_name = gethostbyaddr(long2ip($uip));
  42. if (! isset($ip_name)) { $ip_name = '-'; }
  43. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  44. print "<td class=\"data\">" . $uport . "</td>\n";
  45. print "<td class=\"data\" align=right>" . fbytes($ubytes) . "</td>\n";
  46. print "</tr>\n";
  47. }
  48. ?>
  49. </table>
  50. <b>Топ 10 по исходящему трафику</b>
  51. <table class="data">
  52. <tr align="center">
  53. <td class="data" width=30><b>Протокол</b></td>
  54. <td class="data" width=150><b>Куда</b></td>
  55. <td class="data"><b>DNS</b></td>
  56. <td class="data" width=50><b>Порт</b></td>
  57. <td class="data" width=80><b>Байт</b></td>
  58. </tr>
  59. <?php
  60. $fsql = "SELECT A.proto, A.dst_ip, A.dst_port, SUM(A.bytes) as tout FROM Traffic_detail A
  61. WHERE (auth_id='$id') and (date(`timestamp`)>='$date1' and date(`timestamp`)<'$date2') and (A.src_ip='$ip_aton')
  62. GROUP BY A.dst_ip, A.dst_port, A.proto ORDER BY tout DESC LIMIT 0,10";
  63. $userdata = mysqli_query($dbt_link, $fsql);
  64. while (list ($uproto, $uip, $uport, $ubytes) = mysqli_fetch_array($userdata)) {
  65. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  66. print "<td class=\"data\">" . $uproto . "</td>\n";
  67. print "<td class=\"data\" align=left>" . long2ip($uip) . "</td>\n";
  68. $ip_name = gethostbyaddr(long2ip($uip));
  69. if (! isset($ip_name)) { $ip_name = '-'; }
  70. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  71. print "<td class=\"data\">" . $uport . "</td>\n";
  72. print "<td class=\"data\" align=right>" . fbytes($ubytes) . "</td>\n";
  73. print "</tr>\n";
  74. }
  75. ?>
  76. </table>
  77. <b>Полный лог</b>
  78. <?php
  79. $countSQL="SELECT Count(*) FROM Traffic_detail as A WHERE (auth_id='$id') and (date(`timestamp`)>='$date1' and date(`timestamp`)<'$date2')";
  80. $res = mysqli_query($dbt_link, $countSQL);
  81. $count_records = mysqli_fetch_array($res);
  82. $total=ceil($count_records[0]/$displayed);
  83. if ($page>$total) { $page=$total; }
  84. if ($page<1) { $page=1; }
  85. $start = ($page * $displayed) - $displayed;
  86. print_navigation($page_url,$page,$displayed,$count_records[0],$total);
  87. $gateway_list = get_gateways($db_link);
  88. ?>
  89. <br>
  90. <table class="data">
  91. <tr align="center">
  92. <td class="data" width=150><b>Дата</b></td>
  93. <td class="data" width=30><b>Роутер</b></td>
  94. <td class="data" width=30><b>Протокол</b></td>
  95. <td class="data" width=150><b>Откуда</b></td>
  96. <td class="data"><b>DNS</b></td>
  97. <td class="data" width=50><b>Порт</b></td>
  98. <td class="data" width=150><b>Куда</b></td>
  99. <td class="data"><b>DNS</b></td>
  100. <td class="data" width=50><b>Порт</b></td>
  101. <td class="data" width=80><b>Байт</b></td>
  102. </tr>
  103. <?php
  104. $fsql = "SELECT A.`timestamp`, A.router_id, A.proto, A.src_ip, A.src_port, A.dst_ip, A.dst_port, A.bytes FROM Traffic_detail as A JOIN (SELECT id FROM Traffic_detail
  105. WHERE (auth_id='$id') and (date(`timestamp`)>='$date1' and date(`timestamp`)<'$date2')
  106. ORDER BY `timestamp` ASC LIMIT $start,$displayed) as T ON A.id = T.id";
  107. $userdata = mysqli_query($dbt_link, $fsql);
  108. while (list ($udata, $urouter, $uproto, $sip, $sport,$dip, $dport, $ubytes) = mysqli_fetch_array($userdata)) {
  109. print "<tr align=center align=center class=\"tr1\" onmouseover=\"className='tr2'\" onmouseout=\"className='tr1'\">\n";
  110. print "<td class=\"data\">$udata</td>\n";
  111. print "<td class=\"data\">$gateway_list[$urouter]</td>\n";
  112. print "<td class=\"data\">" . $uproto . "</td>\n";
  113. print "<td class=\"data\" align=left>" . long2ip($sip) . "</td>\n";
  114. $ip_name = gethostbyaddr(long2ip($sip));
  115. if (! isset($ip_name)) { $ip_name = '-'; }
  116. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  117. print "<td class=\"data\">" .$sport . "</td>\n";
  118. print "<td class=\"data\" align=left>" . long2ip($dip) . "</td>\n";
  119. $ip_name = gethostbyaddr(long2ip($dip));
  120. if (! isset($ip_name)) { $ip_name = '-'; }
  121. print "<td class=\"data\" align=left>" . $ip_name . "</td>\n";
  122. print "<td class=\"data\">" . $dport . "</td>\n";
  123. print "<td class=\"data\" align=right>" . fbytes($ubytes) . "</td>\n";
  124. print "</tr>\n";
  125. }
  126. ?>
  127. </table>
  128. <?php print_navigation($page_url,$page,$displayed,$count_records[0],$total); ?>
  129. <br>
  130. <?php
  131. require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
  132. ?>