#!/bin/sh . /usr/lib/dhcpsplash/functions.sh if [ -n "$QUERY_STRING" ]; then IFS=\&;set ${QUERY_STRING%%[^%&=+-:@-_a-z~]*};unset IFS;eval $* 2>/dev/null fi export DATE="12.09.2006" export TITLE="Nutzer" if [ "$frame" != "no" ]; then . ${0%/*}/cgi-bin-pre.sh fi DLEASES="/var/run/dhcp.leases" SLEASES="/var/run/dhcpsplash.leases" LTIMEOUT="$(($(date +%s)-$(($(splash_getvar ff_dhcpsplash_time)*3600))))" ARPCACHE=$(cat /proc/net/arp | sed -ne '/^IP/d;s/^\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).\+\(..:..:..:..:..:..\).\+/\2 \1/p') getleasestate() { case $(splash_getleasestate $1 $2) in preauth) leasestate='dauerhaft' ;; blocked) leasestate='nicht möglich' ;; tmpaccess) hours=$(($(($LTIME-$LTIMEOUT))/3600)) min=$(($(($(($LTIME-$LTIMEOUT))%3600))/60)) if [ "$hours" != "0" ]; then leasestate="noch $hours h und $min minnoch $min min" fi ;; expaccess) leasestate='abgelaufen' ;; access) leasestate='freigeschaltet' ;; noaccess) leasestate='nicht freigeschaltet' ;; nosplash) leasestate='nicht notwendig' ;; esac } cat<
$(nvram get wan_hostname) Verbundene DHCP-Nutzer und Geräte
EOF echo "" if [ -s "$DLEASES" ]; then while read LINE; do MAC=$(echo "$LINE" | cut -d " " -f2 | sed y/abcdef/ABCDEF/) IP=$(echo "$LINE" | cut -d " " -f3) NAME=$(echo "$LINE" | cut -d " " -f4) LTIME="$(grep -is $MAC $SLEASES | cut -d ' ' -f1)" getleasestate $MAC $IP printmac=$(echo $MAC | sed -ne 's/\(..\):\(..\):\(..\):\(..\):\(..\):\(..\)/\1:\2:XX:XX:\5:\6/'p) echo "$leasestate" done < $DLEASES else dhcp=0 fi if [ -n "$ARPCACHE" ]; then cat /proc/net/arp | sed -ne '/^IP/d;s/^\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).\+\(..:..:..:..:..:..\).\+/\2 \1/p' | while read LINE; do MAC=$(echo "$LINE" | cut -d " " -f1) IP=$(echo "$LINE" | cut -d " " -f2) NAME=$(cat /etc/hosts | sed -ne "s/^$IP[[:space:]]\(.\+\)[[:space:]]#.\+/\1/p") test -z $NAME && NAME='*' LTIME="$(grep -is $MAC $SLEASES | cut -d ' ' -f1)" if ! grep -iqs " $IP " $DLEASES; then getleasestate $MAC $IP printmac=$(echo $MAC | sed -ne 's/\(..\):\(..\):\(..\):\(..\):\(..\):\(..\)/\1:\2:XX:XX:\5:\6/'p) echo "$leasestate" fi done else static=0 fi test "$dhcp" = "0" && echo '' test "$static" = "0" && echo '' cat<
Typ:IP-Adresse:Hostname:MAC-Adresse:Freischaltung:
DHCP$IP$NAME$printmac
statisch$IP$NAME$printmac
- keine DHCP-Nutzer verbunden -
- keine sonstigen Geräte verbunden -
EOF if [ "$frame" != "no" ]; then . ${0%/*}/cgi-bin-post.sh fi