Skip to content

Commit 1c6f3f1

Browse files
committed
version 0.1
1 parent 791b420 commit 1c6f3f1

File tree

4 files changed

+9
-53
lines changed

4 files changed

+9
-53
lines changed

Dockerfile

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
FROM alpine:latest
1+
FROM alpine:3.12.1
22

3-
RUN apk update && apk add python2 py-pip nmap
3+
RUN apk add --no-cache python2 py-pip nmap
44
COPY ./nmap_exporter.py /
5-
EXPOSE 8085
65
CMD ["python2", "/nmap_exporter.py"]

nmap_exporter.py

+4-29
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,18 @@
22
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
33
from SocketServer import ThreadingMixIn
44
import threading
5-
import sys
65
import subprocess
7-
from urlparse import parse_qs, urlparse
8-
import logging
9-
import os
10-
11-
12-
def locate(file):
13-
# Find the path for fping
14-
for path in os.environ["PATH"].split(os.pathsep):
15-
if os.path.exists(os.path.join(path, file)):
16-
return os.path.join(path, file)
17-
return "{}".format(file)
186

197

208
def doScan(ip):
21-
# nmap -sP --host-timeout 1000 --max-retries 100 --dns-servers 192.168.2.3 192.168.2.* -oG n.tmp
22-
logger.info("START")
239
output = []
24-
#ping_command = '{} -sP --host-timeout 1000 --max-retries 100 --dns-servers 192.168.2.3 {} -oG n.tmp'.format(filepath, ip)
25-
ping_command = '{} -sP --host-timeout 1 --max-retries 1 --dns-servers 192.168.2.3 {} -oG n.tmp'.format(
10+
ping_command = '{} -sP --host-timeout 10 --max-retries 5 --dns-servers 192.168.2.3 {} -oG n.tmp'.format(
2611
"nmap", ip)
2712

2813
# Execute and write output to file
2914
subprocess.Popen(ping_command, stdout=subprocess.PIPE,
3015
shell=True).communicate()
16+
3117
# read file
3218
cmd_output = str(subprocess.Popen(
3319
"cat n.tmp", stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).communicate()[0])
@@ -61,18 +47,7 @@ def do_GET(self):
6147

6248

6349
if __name__ == '__main__':
64-
# Locate the path of fping
65-
global filepath
66-
filepath = locate("nmap")
67-
logger = logging.getLogger()
68-
handler = logging.StreamHandler()
69-
formatter = logging.Formatter(
70-
'%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
71-
handler.setFormatter(formatter)
72-
logger.addHandler(handler)
73-
logger.setLevel(logging.DEBUG)
74-
75-
port = 9042
76-
logger.info('Starting server port {}, use <Ctrl-C> to stop'.format(port))
50+
port = 80
51+
print('Starting toWipf device scanner Version 0.1 on port {}'.format(port))
7752
server = ThreadedHTTPServer(('0.0.0.0', port), StartScan)
7853
server.serve_forever()

readme.md

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
# nmap exporter Prometheus
2-
3-
WORK IN PROGRESS! NOT RUNNING NOW
4-
5-
6-
docker run -d --name nmap_exporter -p 9042:9042 nmap_exporter
1+
# nmap / Device exporter Prometheus
72

3+
docker run -d --name nmap_exporter -p 9042:80 nmap_exporter
84

95
docker build -t nmap_exporter .
10-
docker run -p 9042:9042 nmap_exporter
6+
docker run -p 9042:80 nmap_exporter

scan.sh

-14
This file was deleted.

0 commit comments

Comments
 (0)