• Stars
    star
    127
  • Rank 274,209 (Top 6 %)
  • Language
    TypeScript
  • License
    Other
  • Created almost 9 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Logs which devices are in your local network and draws graphs

nmap-log-parse

Logs which devices are in your local network and draws graphs

Screenshot:

Screenshot

Setup

  1. Clone this repository and checkout the precompiled branch

    git clone https://github.com/phiresky/nmap-log-parse
    cd nmap-log-parse
    git checkout gh-pages
  2. Add this line to your root crontab on your raspberry pi (or other device that is always on):

    */10 * * * * nmap -sn '192.168.178.*' -oX - >> /var/www/nmap-logs/$(date -I).xml

    You can edit the root crontab by running something like sudo EDITOR=nano crontab -e

    Replace '192.168.178.*' with your network range and /var/www/nmap-logs/ with the target location.

    This takes about ~10MB of storage per month.

    The above command must be put into the root crontab! Otherwise, nmap can't read mac-addresses and the output will be wrong.

  3. create a config.json file in the same folder as the built index.html is in (dist), overriding any of the values in the default config.

    for example:

    config.json

    {
    	"logFilesPath": "/nmap/logs/",
    	"staticLogFiles": ["logs/oldlogs"],
    	"deviceNames": {
    		"AB:CD:EF:01:23": "John's PC"
    	}
    }

    Use staticLogFiles only if you have an undated log file from an older version.

    The logFilesPath is either relative to the root dirctory of the server (if starting with /) or the built index.html file (otherwise)

  4. Wait more than an hour. Make sure the first log file (in the form 2019-06-29.xml) exists and contains XML documents.

  5. Open index.html in a browser. Open it from a server (like a minimal python3 -m http.server) instead of from the filesystem because of Cross-Domain security.

Contributing

Made with React, the Dexie.js database and Highcharts.

Get the dependencies using yarn install, then run yarn build to build the JS into the /dist directory. For development, run yarn dev to start the dev server.

This project is written in TypeScript, which is basically JavaScript (ES6), but strongly typed. I can recommend Visual Studio Code (on linux) for IntelliSense and Refactoring support.

If you have ideas to make this better please open an issue, or even better, send a pull request.

More Repositories

1

ripgrep-all

rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.
Rust
6,214
star
2

sql.js-httpvfs

Hosting read-only SQLite databases on static file hosters like Github Pages
TypeScript
3,368
star
3

sqlite-zstd

Transparent dictionary-based row-level compression for SQLite
Rust
1,355
star
4

blog

Source code of my personal blog
TypeScript
337
star
5

world-development-indicators-sqlite

Python
152
star
6

procedural-cities

Information about procedural city generation
TeX
128
star
7

pandoc-url2cite

Effortlessly and transparently add correctly styled citations to your markdown paper given only a URL
TypeScript
121
star
8

youtube-sponsorship-stats

TypeScript
114
star
9

timetrackrs

An automated time tracker (WIP)
Rust
109
star
10

tv-show-ratings

Compare the episode ratings of TV shows
TypeScript
75
star
11

neural-network-demo

Demonstration and visualization of feed-forward neural networks running in the browser
TypeScript
60
star
12

tuxguitar

unofficial mirror from sourceforge svn
Java
57
star
13

backchannel-prediction

Yeah, Right, Uh-Huh: A Deep Learning Backchannel Predictor
Python
52
star
14

tantivy-wasm

TypeScript
40
star
15

fbstats

generate facebook messaging statistics
TypeScript
38
star
16

levenshtein-demo

TypeScript
33
star
17

typed-socket.io

A library for fully typed client-server communication with socket.io and TypeScript.
TypeScript
30
star
18

encrypted-gist

Storing files in github gists, with client side transparent encryption and authentication
TypeScript
28
star
19

webrtc-remote-touch-pen-input

JavaScript
24
star
20

ts-histdbimport

Imports a `.zsh_history` file into a https://github.com/larkery/zsh-histdb sqlite database.
JavaScript
24
star
21

convolution-demo

Visualization of convolution on pairs of simple functions
TypeScript
18
star
22

emojidome

Interactive viewer of the results of the Emojidome XKCD
TypeScript
14
star
23

ebv-theta-to-mqtt

Perl
13
star
24

dupegone

small fast duplicate file finder in c++
C++
11
star
25

redis-remotify

A tiny TypeScript library for fully typed remote calls via Redis.
TypeScript
9
star
26

mima

Mima Compiler and Interpreter for the browser
JavaScript
9
star
27

Gelddruckmaschine

Telegram bot that finds arbitrage opportunities between multiple crypto trading sites to print money mostly risk-free
JavaScript
7
star
28

warc-sqlite

POC of converting a set of WARC web archive files to a SQLite database and querying it
Python
7
star
29

phiresky.github.io

Lazy Github homepage generator
TypeScript
7
star
30

deep-intellisense

IntelliSense based on deep learning using char-rnn
TypeScript
6
star
31

endoh1-ts

Deobfuscating the ASCII fluid simulater and converting it to TypeScript
JavaScript
6
star
32

youtube-watch-history-parse

TypeScript
5
star
33

rpi-autousbupload

Automatically uploads photos from usb devices to an ftp server. Optimized for robustness on an Raspberry Pi.
Python
5
star
34

dfa2regex

Converts Deterministic finite automata to regular expressions.
JavaScript
5
star
35

fix-messy-movie-folder

Try to identify movie files in messy folders and sort them into a predefined structure
Java
4
star
36

minecraft-stats

Parses Vanilla Minecraft Server Statistics and displays graphs
JavaScript
4
star
37

rust-brotli-wasm

Two experiments of the brotli encoder / decoder compiled from Rust to WebAssembly.
Rust
4
star
38

lemmy-federation-state

Quick visualization of the lemmy federation state
TypeScript
4
star
39

RobinHood-TheLegendOfSherwood-Resolution-Patcher

Patch the resolution of Robin Hood: The Legend of Sherwood to support any resolution (e.g. 1920x1080)
C++
3
star
40

socket.io-distributor

Simple load leveling for socket.io
TypeScript
3
star
41

portfolio-bot

Telegram Bot that allows you to get information on your investments (stocks, ETFs, etc)
TypeScript
3
star
42

coronavirus-reproduction-analysis

Jupyter Notebook
3
star
43

qalc-react

Unit Calculator
TypeScript
3
star
44

gaussian-mixtures-demo

TypeScript
2
star
45

pythoven

Python
2
star
46

joint-multilingual-speech-recognition-and-language-id

TeX
2
star
47

tree-magic-cli

Rust
2
star
48

how-long-am-i-working

use google location history to graph how much time you've spent at a location (e.g. at work)
TypeScript
2
star
49

pingplot

plot a ping log
R
2
star
50

csv-cooccurrence-graph

Rust
2
star
51

RaspberrySmartScaleReceiver

Program to receive the body weight and body composition analysis data from a Soehnle 63760 BB smart scale using a 433 Mhz receiver on the Raspberry Pi.
C++
2
star
52

phiresky

1
star
53

rga-windows-test

Rust
1
star
54

bachelor-thesis

TeX
1
star
55

bayesian-aggregation-for-swarm-reinforcement-learning

Python
1
star
56

score-voting-tool

Rust
1
star
57

masters-thesis

HTML
1
star
58

algo2-summary

compact summary of stuff from the algorithms 2 lecture. Zusammenfassung der Algorithmen II Vorlesung am KIT
TeX
1
star
59

ocr-pdf-via-document-ai

OCR a set of images via the Google Cloud API
JavaScript
1
star
60

plangraph-impl

Implementation of some algorithms for planar graphs
JavaScript
1
star
61

guitar-tabs

Static hosted version of the guitar tabs portion of my old (<2010) website
CSS
1
star
62

plangraph

Mitschrieb zur Vorlesung planare Graphen KIT SS2015
Python
1
star
63

kogsys-demos

overview page for all the lecture demonstrations
HTML
1
star
64

ts-boilerplates

just some simple boilerplates for me to use
TypeScript
1
star
65

nushell-history-skim

Rust
1
star
66

prosem-proto

Simple procedural town generation (for Proseminar)
TypeScript
1
star
67

fourier-series-demo

TypeScript
1
star