From df0d7841265d10d66de0f360364c5c59643a05a6 Mon Sep 17 00:00:00 2001 From: Jack-Benny Persson Date: Tue, 3 Jun 2014 19:11:13 +0200 Subject: [PATCH] First version of Hosts Up ready and working --- LICENSE | 17 +++++++++ README.md | 14 ++++++++ about.php | 17 +++++++++ help.php | 16 +++++++++ hosts_up.css | 81 ++++++++++++++++++++++++++++++++++-------- hosts_up.php | 46 ------------------------ htmlblock.html | 25 +++++++++++++ index.php | 28 +++++++++++++++ scan.php | 22 ++++++++++++ screenshots/index.png | Bin 0 -> 26396 bytes screenshots/scan.png | Bin 0 -> 23600 bytes 11 files changed, 206 insertions(+), 60 deletions(-) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 about.php create mode 100644 help.php delete mode 100644 hosts_up.php create mode 100644 htmlblock.html create mode 100644 index.php create mode 100644 scan.php create mode 100644 screenshots/index.png create mode 100644 screenshots/scan.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c6535a6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,17 @@ +Copyright (C) 2014 Jack-Benny Persson + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..d4cb2bb --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Hosts Up # +Hosts Up is a collection of small PHP scripts and HTML documents I've made to +help me keep track of live hosts on my network at home and at work. Each time +the webpage is refreshed a new ping sweep on the network is performed. To see +which ports are open one can just click on a host and another script fires up an +Nmap scan of the host. The result is showed on the webpage. Both the ping sweep +and scans are using Nmap. Hence Nmap is required aswell as PHP's ability to +exeucte Nmap. + +## Some screenshots ## +![alt text](screenshots/index.png "Hosts Up index page") + +![alt text](screenshots/scan.png "Hosts Up scan page") + diff --git a/about.php b/about.php new file mode 100644 index 0000000..1ad2ea4 --- /dev/null +++ b/about.php @@ -0,0 +1,17 @@ + + +

About

+

+Hosts Up is a small collection of PHP scripts and HTML documents +I've made to simplify the task of keeping track of live hosts on +my network. It's nothing fancy or anything but it fulfills it purpose. +Hosts Up requires Nmap and that PHP is allowed to run the Nmap program +on the server it's being executed on. It's Nmap that takes care of the +pinging and port scanning of hosts. + +

+ + + diff --git a/help.php b/help.php new file mode 100644 index 0000000..c1d4b3f --- /dev/null +++ b/help.php @@ -0,0 +1,16 @@ + + +

Help

+

+When entering the Hosts Up webpage it scans the network specified in the +index.php file ($network variable) and displays all live hosts. The scan is a +simple ping sweep performed by Nmap. When a host is clicked it is automatically +port scanned and the results show up on the webpage. That's pretty much all +there is to it. + +

+ + + diff --git a/hosts_up.css b/hosts_up.css index 07157f3..7b15819 100644 --- a/hosts_up.css +++ b/hosts_up.css @@ -1,22 +1,75 @@ body { -background-color:#bababa; -} -h1 -{ -color:#28699b; -font-family:"Arial"; -text-align:left; -} -p -{ -font-family:"Arial"; -font-size:24px; + background-color:#bababa; } -#middle { +h1 +{ + color:#28699b; + font-family:"Arial"; + text-align:left; +} + +p +{ + font-family:"Arial"; + font-size:22px; +} + +p.top +{ + font-family:"Arial"; + font-size:18px; +} + +p.text +{ + font-family:"Arial"; + font-size:16px; +} + +pre +{ + font-size:18px; +} + +a:link +{ + text-decoration:none; + color:#000000; +} + +a:visited +{ + text-decoration:none; + color:#000000; +} + +a:hover +{ + text-decoration:underline; + color:#000000; +} + +a:active +{ + text-decoration:none; + color:#000000; +} + +#middle +{ position: absolute; - left: 40%; + left: 35%; top: 10%; + width:400px; + margin: 0px +} + +#top +{ + position: absolute; + left: 35%; + top: 5% margin: 0px } diff --git a/hosts_up.php b/hosts_up.php deleted file mode 100644 index ce39675..0000000 --- a/hosts_up.php +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - -HostsUp - - - - -
- -Hosts that are up\n"; -print "

\n"; - -foreach ($out[0] as $i) -{ - print $i . "
\n"; -} - -print "

\n"; - -?> - -
- - - diff --git a/htmlblock.html b/htmlblock.html new file mode 100644 index 0000000..8755749 --- /dev/null +++ b/htmlblock.html @@ -0,0 +1,25 @@ + + + + + + + + + +Hosts Up + + + + +
+

+Hosts Up | Help +| About | Copyright +

+
+ +
+
+ diff --git a/index.php b/index.php new file mode 100644 index 0000000..a0cfd66 --- /dev/null +++ b/index.php @@ -0,0 +1,28 @@ +Hosts that are up\n"; +print "

\n"; + +foreach ($out[0] as $i) +{ + print "$i
\n"; +} + +print "

\n"; + +?> + +
+ + + diff --git a/scan.php b/scan.php new file mode 100644 index 0000000..2e98572 --- /dev/null +++ b/scan.php @@ -0,0 +1,22 @@ +Open ports on $_GET[host]\n"; +print "
\n";
+
+$portscan = shell_exec("nmap $_GET[host]");
+preg_match_all('/[0-9]{1,5}\/..p.*/', $portscan, $openports);
+
+foreach ($openports[0] as $out)
+{
+    print "$out\n";
+}
+
+
+?>
+
+
+ + + + diff --git a/screenshots/index.png b/screenshots/index.png new file mode 100644 index 0000000000000000000000000000000000000000..8a6b901367dcd47cc3d5266c7e3adc71eb8e9153 GIT binary patch literal 26396 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 C+EN_= literal 0 HcmV?d00001