staging.inyokaproject.org

Upnp-Verkehr erkennen

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

whocares02

Anmeldungsdatum:
11. Januar 2013

Beiträge: Zähle...

Hallo Forum, ich betreibe einen MediaPC mit Ubuntu und XBMC / Kodi. Wie bekannt sein sollte, bietet Kodi die Option, Filme und Musik per UPnp in's Netzwerk zu streamen. Kodi bietet ebenfalls eine Funktion, den Rechner nach 10 Minuten Leerlauf automatisch abzuschalten. Leider macht letztere Funktion bei laufenden Streams keine Ausnahme. Deswegen benutze ich ein Script, dass alle 5 Minuten prüft, ob es Netzwerk-Verkehr gibt. Falls ja, wird die Abschaltautomatik deaktiviert. Für Samba-Shares funktioniert das zwar. Ich weiß aber leider nicht, wie man per Commnandozeile offene upnp-Verbindungen abfragen oder erkennen kann. Weiß jemand Rat?

Das Skript stammt irgendwo aus dem Internet und wurde von mir modifiziert. Ich poste mal den entscheidenen Teil:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
# Cron-Job to automatically
# enable or disable XBMC-Auto-Shutdown, depending on presence of specific running programs.
# E.g Firefox, Avidemux, K3B, google-earth, ...
# Because XBMC's auto-shutdown is invoked after 10 minutes of idle-time, this script should run
# more often (e.g. every 2 minutes)

if [ "`pidof -s xterm`" ]; then
        echo "Cannot suspend as a xterminal is open"
        exit 1
fi

if [ "`pidof -s xfce4-terminal`" ]; then
        echo "Cannot suspend as a xfce4-terminal is open"       
        exit 1
fi


if [ "`pidof -s synaptic`" ]; then
        echo "Cannot suspend as Synaptic package manager is running"       
        exit 1
fi


if [ "`sudo net status shares | wc -l`" -gt 3 ]; then
    # count lines of (sudo) net status shares. 3 Lines header
    echo "Cannot suspend as a samba share(s) is/are being used"
    net status shares   
    exit 1
fi

if [ "`netstat | grep nfs`" ]; then
        echo "Cannot suspend as an NFS share is being used"       
        exit 1
fi

NUSERS_TOTAL=`w -h | wc -l`
if [ "$NUSERS_TOTAL" -gt "1" ]; then
    echo "Cannot suspend the machine. $NUSERS_TOTAL users are logged in"   
    exit 1
fi
# shutdown allowed
#If none of above mentioned programs are running, enable auto-shutdown and exit with code 0.
# XBMC will shutdown only if it is not used and no movie/tv/music is running:

echo "Allow shutdown"
exit 0

Ich bin mir nicht sicher mit den ganzen Netzwerk-Befehlen. Hab die Zeilen wie gesagt aus einem anderen Threat.

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Hallo,
dass müsste mittels nmap möglich sein. Vielleicht hilft dir noch https://nmap.org/nsedoc/scripts/broadcast-upnp-info.html

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

whocares02 schrieb:

Ich weiß aber leider nicht, wie man per Commnandozeile offene upnp-Verbindungen abfragen oder erkennen kann. Weiß jemand Rat?

Das ist gar nicht so einfach, denn bei manchen Geräten kann man das Senden von upnp-Paketen per multicast, gar nicht deaktivieren. Z. B. bei meiner FritzBox:

:~$ sudo tcpdump -vvveni any -s 0 '(udp port 1900) or (tcp port 2869)'

tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
18:53:25.807619   M c0:25:06:##:##:## ethertype IPv4 (0x0800), length 167: (tos 0x0, ttl 4, id 7754, offset 0, flags [none], proto UDP (17), length 151)
    192.168.178.1.46720 > 239.255.255.250.1900: [udp sum ok] UDP, length 123
18:53:25.809642   M c0:25:06:##:##:## ethertype IPv6 (0x86dd), length 181: (hlim 254, next-header UDP (17) payload length: 125) fe80::c225:6ff:####:####.44056 > ff02::c.1900: [udp sum ok] UDP, length 117
18:53:25.811667   M c0:25:06:##:##:## ethertype IPv6 (0x86dd), length 181: (hlim 254, next-header UDP (17) payload length: 125) fd00::c225:6ff:####:####.47698 > ff05::c.1900: [udp sum ok] UDP, length 117
18:53:25.815643   M c0:25:06:##:##:## ethertype IPv6 (0x86dd), length 181: (hlim 254, next-header UDP (17) payload length: 125) 2002:####:####:0:####:###:####:####.51189 > ff0e::c.1900: [udp sum ok] UDP, length 117

whocares02

(Themenstarter)

Anmeldungsdatum:
11. Januar 2013

Beiträge: Zähle...

Also ich hab nmap jetzt mal per Paketmanager installiert. Wie geht's jetzt weiter? Ich habe (wie auf der verlinkten Seite entnommen) das hier mal eingetippt mit dem Zusatz 127.0.0.1, weil ja rausgefunden werden soll, ob ein anderes Gerät auf den Mediapc zugreift:

1
nmap -sV --script=broadcast-upnp-info 127.0.0.1

Daraufhin bekomme ich diese Ausgabe:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Starting Nmap 6.40 ( http://nmap.org ) at 2016-02-21 23:16 CET
Pre-scan script results:
| broadcast-upnp-info: 
|   192.168.0.1
|       Server: POSIX UPnP/1.0 /
|       Location: http://192.168.0.1:1780/WFADevice.xml
|         Name: WFADevice
|         Manufacturer: Broadcom Corporation
|         Model Descr: Wireless Device
|         Model Name: WPS
|_        Model Version: X1

Der Mediapc ist per LAN-Kabel angeschlossen. Bedeutet die Ausgabe, dass der Wifi-fähige Router (192.168.0.1) gerade upnp benutzt, um auf den Mediapc zuzugreifen?

Edit: Auf die Ausgabe folgt eine mehrminütige Wartezeit, bis die Shell wiederkehrt. Zum Skripten scheint mir das ungeeignet.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

whocares02 schrieb:

Bedeutet die Ausgabe, dass der Wifi-fähige Router (192.168.0.1) gerade upnp benutzt, um auf den Mediapc zuzugreifen?

M. E. nein. Eher, dass der Router upnp-fähig ist. Wenn Du eine evtl. Nutzung von upnp feststellen willst, dann über das Sniffen von upnp-Datenpaketen.

EDIT:

Evtl. kann man auch über den counter einer geeigneten iptables-Regel feststellen, ob (gerade) upnp-Traffic statt findet.

Antworten |