Ga naar inhoud


monitor in UNIX inkomende connections en mail deze


Philips

Aanbevolen berichten

Hallo

in de dreambox kun je de opdracht netstat geven en ik zou graag deze netstat in een loop laten lopen.

 

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 dm8000.local:microsoft-ds Aces-PC.local:61238     ESTABLISHED
tcp        0    127 dm8000.local:telnet          Aces-PC.local:60321     ESTABLISHED

tcp        0      0 dm8000.local:telnet             122.123.1.8:49257       ESTABLISHED
 

 

En wanneer er nieuwe meestal onbekende connections zijn wil ik deze in een logfile zie en het liefst dat ze mij worden gemaild.

 

Is er een dergelijke script voor de dreambox zodat ik deze beter kan monitoren en wie zou me willen helpen?

 

 

 

 

Philips dst5816 / Dreambox7000 / Dreambox8000 (image OpenPli)

Link naar reactie
Delen op andere sites


Je zal het zelf voor een groot stuk moeten verzinnen.

 

Maar enkele bedenkingen:

1. Wat zijn voor jou 'onbekende connections'?

2. Je kan een while loop gebruiken; maar je zal je script in de achtergrond moeten draaiend houden (dus eventueel opstarten door bv './(mijnNetstat_Monitor.ksh)&)

3. Je zal in dit script dus mogelijk ook een controle moeten voorzien om na te gaan of het nog ergens in de achtergrond loopt

 

Voor het mailen zal het er vanaf hangen in hoeverre er in de image al een mail deamon is. Kan misschien sendmail of mailx zijn.

 

 

Wil er wel even tijd in steken de komende dagen; heb wel geen dream, dus zal mijn Vu moeten gebruiken.

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

Onbekende connecties zijn connections die buiten je LAN zitten. Zelf dacht ik wanneer ik het voor elkaar krijgt de Netstat uitvoer de minimaliseren tot alleen de lijst die ik heb laten zien. Vooraf geef ik in variabel mee dat bij 192.21.12.xxx mijn eigen omgeving is.

De stap om het naar de mail te zetten is een stap voor later.

Als een script zou willen maken zou dat wel goed zijn :). Overigens ik neem aan dat andere toch ook graag weten wat er op een box allemaal gebeurd

Philips dst5816 / Dreambox7000 / Dreambox8000 (image OpenPli)

Link naar reactie
Delen op andere sites

Nou, wat er op mijn box gebeurt is beperkt.

Indien je box op je eigen LAN hangt, zou je normaal niet zomaar 'vreemde connecties' (met het internet) mogen hebben.

 

Ben er ondertussen aan begonnen, zal in het script ook wat comments voorzien zodat je weet wat er gebeurt.

 

**edit**

natuurlijk, in geval van updates/streams/... klopt het inderdaad wel....

aangepast door De_Perre

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

Alvast een eerste versietje, zonder al te veel fantasietjes.

#!/bin/sh

######
# Netstat script dat controleert welke connecties op de dreambox zitten
##


#####Variabelen die we gebruiken
localRange="192.21.12."
logfile=$HOME/netstat.log


#####Functies
fn_CheckConnections()
{
## Uitvoeren van 'netstat -t' 
### en er voor zorgen dat we de eerste 2 lijnen van de output deleten (header info) (met behulp van sed)
#### Verder willen we ook dat onze eigen IP adressen niet in de lijst staan (met behulp van grep)
netstat -t | sed '1,2d' | grep -v $localRange >> $logfile

}

#####Uitvoering


##Controleer om de 90 seconden een tekstfile laten maken door eerder gemaakte functie op te roepen
##We schrijven ook de tijd mee in de logfile

while true
do
	echo "Script output van "$(date +"%Y%m%d-%H%M") > $logfile
	fn_CheckConnections ; sleep 90s
done





Dus, elke 90 seconden, zal er nagekeken worden welke actieve verbindingen er op je ontvanger zijn; en dit wordt in een logfile weggeschreven.

 

Aangezien het script niet afsluit met een 'exit 0' blijft het gewoon doorlopen.

Je zal dus ergens een autostart moeten voorzien.

 

 

Voorbeeld output:

Script output van 20170104-2045
tcp        0      0 192.168.1.147:ftp       192.168.1.125:59124     TIME_WAIT   
tcp        0      0 192.168.1.147:telnet    192.168.1.125:59119     ESTABLISHED 
tcp        0      0 192.168.1.147:telnet    192.168.1.125:58473     ESTABLISHED 
aangepast door De_Perre

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

Hangt volledig van de noden af; en kunnen door de TS (of anderen met interesse) eventueel zelf toegevoegd worden.

Vandaar ook de comments die een beetje achtergrond info geven, van wat er precies allemaal gaat gebeuren...

 

Je zou ook kunnen zorgen dat de logfile niet telkens overschreven wordt, maar in een dir structuur terecht komt op basis van YYYY/MM/DD; en dat die datum- en tijdstempel ook nog terug te vinden is in de log filename.

 

Alles hangt er vanaf wat de TS wil, en daar is het even op wachten.

 

Vandaar ook mijn openingszin in #5: 'eerste versie, zonder fantasietjes...'.

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

heb even wat uitgeprobeerd en ik loop tegen het volgende, het lijkt wel of de Dreambox de "#" niet slikt

 

dus nu even zo

 

!/bin/sh

localRange="192.168.1."
logfile=$HOME/netstat.log

fn_CheckConnections()
{

netstat -t | sed '1,2d' | grep -v $localRange >> $logfile

}

while true
do
 echo "Script output van "$(date +"%Y%m%d-%H%M") > $logfile
 fn_CheckConnections ; sleep 90s
done

 

maar dan krijg ik nog de volgende meldingen

 not foundxt: line 1: !/bin/sh
: not foundxt: line 2:
: not foundxt: line 5:
: not foundxt: line 6:
: not foundxt: line 8: {
: not foundxt: line 9:
: not foundxt: line 11:
: not foundxt: line 12: }
: not foundxt: line 13:
./monitor.txt: line 19: syntax error: unexpected end of file (expecting "do")

 

zoals jij de uitvoer hebt, dat ziet er goed uit : )

Philips dst5816 / Dreambox7000 / Dreambox8000 (image OpenPli)

Link naar reactie
Delen op andere sites

Heb het even in een zip gestoken, je kan het rustig nakijken met bv Notepad++.

 

Gewoon ergens op je box zetten.

 

Indien je wil kan je ook nog de locatie aanpassen waar je de logfiles wegschrijft. Ik heb dit nu als $HOME weergegeven, is normaal de homedir van de aangemelde gebruiker.

 

**edit**

niet vergeten dat je de rechten nog moet aanpassen, zodat het uitgevoerd kan worden...

Check_Netstat.zip

aangepast door De_Perre

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

ok, deze script in ZIP file overgezet naar dreambox

 

maar geen opstart, ik denk dat het niet werkt met het #, waarom weet ik niet ik ben niet bekend met UNIX van de dreambox

 

root@dm8000:/home/dreamben# ls
Check_Netstat.sh  mon.txt           moni.txt          monitor-org.txt   monitor.txt       prog1.txt
root@dm8000:/home/dreamben# chmod a+x Check_Netstat.sh
root@dm8000:/home/dreamben# ls
Check_Netstat.sh  mon.txt           moni.txt          monitor-org.txt   monitor.txt       prog1.txt
root@dm8000:/home/dreamben#  ./Check_Netstat
-sh: ./Check_Netstat: not found
root@dm8000:/home/dreamben#  ./Check_Netstat.sh
-sh: ./Check_Netstat.sh: not found
root@dm8000:/home/dreamben# ./monitor
-sh: ./monitor: not found
root@dm8000:/home/dreamben# ./monitor.txt
: not foundxt: line 1: !/bin/sh
: not foundxt: line 2:
: not foundxt: line 5:
: not foundxt: line 6:
: not foundxt: line 8: {
: not foundxt: line 9:
: not foundxt: line 11:
: not foundxt: line 12: }
: not foundxt: line 13:
./monitor.txt: line 19: syntax error: unexpected end of file (expecting "do")
root@dm8000:/home/dreamben#

 

Philips dst5816 / Dreambox7000 / Dreambox8000 (image OpenPli)

Link naar reactie
Delen op andere sites

de hekjes zouden geen probleem mogen zijn. Normaal worden lijnen met een # als opmerkingen/comments gezien (behalve bij de eerste regel in het script!!)
Ik heb nog even gekeken, en had blijkbaar de 'end of line' op Windows/DOS laten staan in notepad++. Heb dus dit even aangepast, en nieuwe zip gemaakt.
 
 
Enige waar ik nog aan denk zou mogelijk de shell zijn, en dat de DB geen 'sh' heeft. Hoewel ik screenshots gevonden heb van dreamboxen die het 'busybox' commande uitvoerden en 'sh' stond er wel tussen.
 
Kan je eventueel eens 'cat /etc/shells' uitvoeren?
 
**edit**
Net zelf nog eens getest, met FileZilla in de homedir van root gezet en in Filezilla ook de bestandsrechten aangepast naar '754'.

root@vusolo4k:~# ls -l
-rwxr-xr--    1 root     root           813 Jan  7 20:02 Check_Netstat.sh
-rwxr-xr-x    1 root     root           257 May 16  2016 none.html
root@vusolo4k:~# ./Check_Netstat.sh


Nadien in een tweede console even gekeken:

root@vusolo4k:~# ls -l
-rwxr-xr--    1 root     root           813 Jan  7 20:02 Check_Netstat.sh
-rw-r--r--    1 root     root           275 Jan  7 20:05 netstat.log
-rwxr-xr-x    1 root     root           257 May 16  2016 none.html
root@vusolo4k:~# ls -l
-rwxr-xr--    1 root     root           813 Jan  7 20:02 Check_Netstat.sh
-rw-r--r--    1 root     root           356 Jan  7 20:07 netstat.log
-rwxr-xr-x    1 root     root           257 May 16  2016 none.html
root@vusolo4k:~# ls -l
-rwxr-xr--    1 root     root           813 Jan  7 20:02 Check_Netstat.sh
-rw-r--r--    1 root     root           275 Jan  7 20:08 netstat.log
-rwxr-xr-x    1 root     root           257 May 16  2016 none.html
root@vusolo4k:~#

Check_Netstat.zip

aangepast door De_Perre

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

mm bedankt voor het uitzoeken, ziet er bij jou goed uit : )

ik zou willen dat het op de Dreambox ook zou werken, vreemd hoor

 

zie hier

root@dm8000:~# cd ..
root@dm8000:/home# cd dreamben
root@dm8000:/home/dreamben# ls
prog1.txt
root@dm8000:/home/dreamben# ls
Check_Netstat.sh  prog1.txt                                    Dit is Check_Netstat.sh zonder "####"
root@dm8000:/home/dreamben# chmod a+x Check_Netstat.sh
root@dm8000:/home/dreamben# ls
Check_Netstat.sh  prog1.txt
root@dm8000:/home/dreamben# ./Check_Netstat.sh
: not foundstat.sh: line 1: !/bin/sh
: not foundstat.sh: line 4:
: not foundstat.sh: line 6:
./Check_Netstat.sh: line 15: syntax error: unexpected end of file (expecting "do")
root@dm8000:/home/dreamben# ls
prog1.txt
root@dm8000:/home/dreamben# ls
Check_Netstat.sh  prog1.txt                        Dit is Check_Netstat met "######"
root@dm8000:/home/dreamben# cat Check_Netstat.sh
#!/bin/sh
#
#
localRange="192.168.1."
logfile=$HOME/netstat.log

fn_CheckConnections(){netstat -t | sed '1,2d' | grep -v $localRange >> $logfile}

while true
do
        echo "Script output van "$(date +"%Y%m%d-%H%M") > $logfile
        fn_CheckConnections ; sleep 90s
done

 

root@dm8000:/home/dreamben# chmod a+x Check_Netstat.sh
root@dm8000:/home/dreamben# ls
Check_Netstat.sh  prog1.txt
root@dm8000:/home/dreamben# ./Check_Netstat.sh               Dan gebeurt er niets ???
-sh: ./Check_Netstat.sh: not found
root@dm8000:/home/dreamben#

 

Dan is het beter een bestand te maken zonder "###"wat dat lijkt wel te werken en dan ook nog de syntax aan te passen van:

fn_CheckConnections(){netstat -t | sed '1,2d' | grep -v $localRange >> $logfile}

 

en achter de logfilenaam een tijdstip te plakken dat is handig om de juiste logfile te traceren

 

kun je hier iets mee? 
 

Philips dst5816 / Dreambox7000 / Dreambox8000 (image OpenPli)

Link naar reactie
Delen op andere sites

nog deze opdracht gegeven:

root@dm8000:~# ls -l
-rw-r--r--    1 root     root         11447 Dec 17 14:18 enigma2_crash.log
-rw-r--r--    1 root     root             0 Jan  7 11:51 netstat.log
-rw-r--r--    1 root     root          1632 Jan  8 11:44 netstat.log
-rw-r--r--    1 root     root             0 Jan  7 11:53 netstat.log
-rw-r--r--    1 root     root             0 Jan  7 11:40 netstat.log
-rw-r--r--    1 root     root             6 Jan  4 19:35 resumepoints.pkl
root@dm8000:~#
 

Philips dst5816 / Dreambox7000 / Dreambox8000 (image OpenPli)

Link naar reactie
Delen op andere sites

werkt het toch omdat er niets meer gebeurd ?

 

 root@dm8000:/home/dreamben# ls -l
-rw-r--r--    1 root     dreamben       813 Jan  8 12:15 Check_Netstat.sh
-rwxr-xr-x    1 root     dreamben        61 Jan  2 17:11 prog1.txt
root@dm8000:/home/dreamben# ls
Check_Netstat.sh  prog1.txt
root@dm8000:/home/dreamben# chmod a+x Check_Netstat.sh
root@dm8000:/home/dreamben# ls
Check_Netstat.sh  prog1.txt
root@dm8000:/home/dreamben# ./Check_Netstat.sh  er komt nu geen melding meer en er gebeurd niets ??
 

Philips dst5816 / Dreambox7000 / Dreambox8000 (image OpenPli)

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
×
×
  • Nieuwe aanmaken...