blob: cb52f43278def04046cf95233e84519177dadb97 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001<?php
2include("include.php");
3?>
4<html>
5<center>
6<img src=logo.gif>
7<?php
8if (isset($_GET['sensor_name']))
9 $sensor_name = $_GET['sensor_name'];
10else
11 {
12 echo "<br>Please provide a sensor_name";
13 exit(1);
14 }
15
16if (isset($_GET['ip']))
17 $ip = $_GET['ip'];
18else
19 {
20 echo "<br>Please provide an ip address";
21 exit(1);
22 }
23
24echo "<h3>";
25if (strpos($ip, "/") === FALSE)
26 echo "$ip - ".gethostbyaddr($ip)."</h3>";
27else
28 echo "Total - $ip</h3>";
29
30$db = ConnectDb();
31
32if ($ip == "0.0.0.0/0")
33 {
34 $rxtable = "bd_rx_total_log";
35 $txtable = "bd_tx_total_log";
36 }
37else
38 {
39 $rxtable = "bd_rx_log";
40 $txtable = "bd_tx_log";
41 }
42
43$sql = "select rx.scale as rxscale, tx.scale as txscale, tx.total+rx.total as total, tx.total as sent,
44rx.total as received, tx.tcp+rx.tcp as tcp, tx.udp+rx.udp as udp,
45tx.icmp+rx.icmp as icmp, tx.http+rx.http as http,
46tx.p2p+rx.p2p as p2p, tx.ftp+rx.ftp as ftp
47from
48
49(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp,
50sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp
51from sensors, $txtable
52where sensor_name = '$sensor_name'
53and sensors.sensor_id = ".$txtable.".sensor_id
54and ip <<= '$ip'
55group by ip) as tx,
56
57(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp,
58sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp
59from sensors, $rxtable
60where sensor_name = '$sensor_name'
61and sensors.sensor_id = ".$rxtable.".sensor_id
62and ip <<= '$ip'
63group by ip) as rx
64
65where tx.ip = rx.ip;";
66//echo "</center><pre>$sql</pre><center>";exit(0);
67$result = pg_query($sql);
68echo "<table width=100% border=1 cellspacing=0><tr><td>Ip<td>Name<td>Total<td>Sent<td>Received<td>tcp<td>udp<td>icmp<td>http<td>smtp<td>ftp";
69$r = pg_fetch_array($result);
70echo "<tr><td>";
71if (strpos($ip, "/") === FALSE)
72 echo "$ip<td>".gethostbyaddr($ip);
73else
74 echo "Total<td>$ip";
75echo fmtb($r['total']).fmtb($r['sent']).fmtb($r['received']).
76 fmtb($r['tcp']).fmtb($r['udp']).fmtb($r['icmp']).fmtb($r['http']).
77 fmtb($r['p2p']).fmtb($r['ftp']);
78echo "</table></center>";
79
80echo "<center><h4>Daily</h4></center>";
81echo "Send:<br><img src=graph.php?ip=$ip&sensor_name=".$sensor_name."&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
82echo "<img src=legend.gif><br>";
83echo "Receive:<br><img src=graph.php?ip=$ip&sensor_name=".$sensor_name."&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
84echo "<img src=legend.gif><br>";
85
86echo "<center><h4>Weekly</h4></center>";
87echo "Send:<br><img src=graph.php?interval=".INT_WEEKLY."&ip=$ip&sensor_name=$sensor_name&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
88echo "<img src=legend.gif><br>";
89echo "Receive:<br><img src=graph.php?interval=".INT_WEEKLY."&ip=$ip&sensor_name=$sensor_name&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
90echo "<img src=legend.gif><br>";
91
92echo "<center><h4>Monthly</h4></center>";
93echo "Send:<br><img src=graph.php?interval=".INT_MONTHLY."&ip=$ip&sensor_name=$sensor_name&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
94echo "<img src=legend.gif><br>";
95echo "Receive:<br><img src=graph.php?interval=".INT_MONTHLY."&ip=$ip&sensor_name=$sensor_name&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
96echo "<img src=legend.gif><br>";
97
98echo "<center><h4>Yearly</h4></center>";
99echo "Send:<br><img src=graph.php?interval=".INT_YEARLY."&ip=$ip&sensor_name=$sensor_name&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
100echo "<img src=legend.gif><br>";
101echo "Receive:<br><img src=graph.php?interval=".INT_YEARLY."&ip=$ip&sensor_name=$sensor_name&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
102echo "<img src=legend.gif><br>";