ippp0 dial und peep

Hallo an alle,

ich hätte da ein kleines Anliegen. Ich habe mir einen kleinen Router zusammengebastelt (SuSE 7.0 pro). Unter yast habe ich die Funktion auto-dial auf on gestellt. Gibt es nun eine Möglichkeit meinem Router zwei Peeper beim einwählen und einen Peep beim Auflegen zu entlocken. Grund ist eigentlich nur um ungewollte Verbindungen mitzubekommen. Habe zwar tail über „telnet“ laufen aber immer hat man es dann doch nicht im Auge.

Für ein paar Tipps wäre ich dankbar.

Thomas

[…]

Gibt es nun eine
Möglichkeit meinem Router zwei Peeper beim einwählen und einen
Peep beim Auflegen zu entlocken.

Ja, gibt es.

In die /etc/ppp/ip-up bzw. ip-down Scripten ein oder zwei „echo -ne \x07“ eingetragen bringen den gewünschten Effekt.

Gruss

Jens

Danke werde es heute gleich mal testen.

Gruß Thomas

Ja, gibt es.

In die /etc/ppp/ip-up bzw. ip-down Scripten ein oder zwei
„echo -ne \x07“ eingetragen bringen den gewünschten Effekt.

Gruss

Jens

funktioniert leider nicht :o(

erst habe ich einen kleinen Schreibfehler verbessert, es muß nämlich heißen "echo -ne \x07 oder \a, aber leider piept mein Rechner immer noch nicht. Ich sehe zwar via tail das er da was macht aber nur ^G

funktioniert leider nicht :o(

erst habe ich einen kleinen Schreibfehler verbessert, es muß
nämlich heißen "echo -ne \x07 oder \a, aber leider piept
mein Rechner immer noch nicht. Ich sehe zwar via tail das er
da was macht aber nur ^G

so müsste es gehen
bei mir geht es so:

echo -e „\a“

Hi Thomas

Hat mich auch genervt und hab darum ein kleines bash skript hingefummelt das via smbclient an die Win clients eine Message schickt

Rechnet dann auch noch die Online Zeiten zusammen und gibt auskunft über Dauer Kosten etc…
( ganz schön nervig aber das sollte es als Kostenbremse ja auch sein )

Wenn interesse besteht kann ich Dir das ja mal zukommen lassen

Phagsae

Ja Ja liebend gerne, ich habe zwar nun auch das piepsen sein gelassen und via smbclient mir eine Message schicken lassen aber das mit den Kosten ist recht interessant. Wäre super wenn Du mir das script schicken könntest

Danke schon mal
Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi hat sich doch ein fehler eingeschlichen

#!/bin/sh

© '2000, off/beat S.S.E.

Ralf Frare

06.11.2000 0.B

20.01.2001 1.Beta

Winpopup script :smile:))

-------------------------Einfuegen in /etc/ppp/ip_up-------------------

>>insert on top !

LOG=/var/log/online # logfile path

PROG=/usr/sbin/onpop # program path

>>Einfuegen in „case“ ip_up) kurz vor ip_down)

$PROG start $INTERFACE $DEST &

>>Einfuegen in „case“ ip_down) direkt danach in neuer zeile

$PROG stop $INTERFACE $DEST &

--------------------------So das wahrs dann im ip_up------------------

#-------------------------------edit for onpop---------------------------

SERVER=„offblond“ #Server name
UNIT1=„24“ #Zeiteinheiten in sec fuer 1 Pf !! integer !!
UNIT2=„0“ #Preis fuer eine Einwahl !! integer !!

Unit1_TXT=„2.5 Pf / min“ # Das erscheint nur im Winpop ohne Funktion!
Unit2_TXT=„0 Pf / Anw“ # dto

win pop Message OUT? true|false An welche Clients ? NetBios names

CLIENT_OUT=„off2 off3 offblond“
MESS_OUT=down # Wann Melden ??

win pop Message Dial-in An welche Clients ? NetBios names

CLIENT_IN=„off3 off2“
MESS_IN=both
#!!! Die netbios names muessen im system bekannt sein sonst erfolgt
#!!! erneute anwahl im dial on demand modus

welche devices sind IN welche OUT (vom server aus gesehen)??

keine Angabe = Keine Meldung

DEV_OUT="ippp3 ippp2 " # zB zum Provider
DEV_IN= „ippp0 ippp1“ # Dial in

#***************************+ist noch in Arbeit******************+*******

mail Message true|false An welche mail adressen ?

interval=week # (day|week|month)
mail_it=false ; MAIL_ADRESS_INT=„root@offblond [email protected]

Abrechung des Providers Tag ?

P_bill=04
save_bill=false ; MAIL_ADRESS_BILL=„root@offblond [email protected]
#***************************+ist noch in Arbeit******************+*******

wo soll das logfile hin ?

LOGF=/var/log/online

#----------------------end onpop parameter ------------------------------

Jetzt starten wir mal einfach

UPDOWN=$1
DEVICE=$2
DESTIN=$3
LOGF=$LOGF.$DEVICE

#Debug : test ohne aufruf durch ip_down

#LOGF=/var/log/online
#DESTIN=192.168.47.11
#DEVICE=ippp2
#UPDOWN=start

do_timelog ()
{

check logfile > nur stop nach start und versa

ANZ=grep "st" $LOGF | wc -l ANZ=$[$ANZ - 0] ;
last=grep -n "st" $LOGF | grep "^$ANZ:" | cut -s -d: -f2
set $last

if [$1 = $UPDOWN]
then grep -v -w „$last“ $LOGF > $LOGF.TMP
mv -f $LOGF.TMP $LOGF ;

fi

#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

DIESE ZEILE MUSS SO SEIN !!!

echo -e „$UPDOWN\tdate +'%d%b\tweek%V\t%s'\t$DESTIN“>>$LOGF
#!!!

check rulez fuer messages

for snap in OUT IN
do
eval Key=$DEV_$snap ; set $Key
while [$1] ;
do
if ["$1" = „$DEVICE“] ;
then echo „test“ ; eval TODO=$MESS_$snap

case $TODO in
up) if [$UPDOWN = start] ; then do_START_POP_$snap ; fi ;;
down) if [$UPDOWN = stop] ; then do_STOP_POP_$snap ; fi ;;
both) if [$UPDOWN = start]
then „do_START_POP_$snap“
else „do_STOP_POP_$snap“
fi ;;
*) echo „onpop MESS_IN||OUT parameter failure“
esac
fi
shift 1
done
done
do_final
}

Der Reinigungsmann :smile:

do_final ()
{
exit
}

Sub sec -> Std min sec

do_time_resolve ()
{
Std=$[$1 / 3600] ; Rest=$[$1 - $Std * 3600]
Min=$[$Rest / 60] ; Rest=$[$Rest - $Min * 60]
HMS_time="$Std:h $Min:m $Rest:s"
}

Sub PF -> DM.Pf

do_Money_resolve ()
{
DM=$[$1 / 100] ; Rest=$[$1 - $DM * 100]
if [$Rest -le „9“] ;
then Money="$DM,0$Rest DM" ;
else Money="$DM,$Rest DM" ;
fi
}

Sub auswerten logfile

do_calculate ()

{
start=grep "start" $LOGF | awk '{ print $4 } '
stop=grep "stop" $LOGF | awk ' { print $4 }'
first=grep -n "st" $LOGF | grep "^1:" | awk ' { print $2 }'
time=grep "st" $LOGF | awk ' { print $4 }'

ANZ1=echo $start | wc -w ; ANZ2=echo $stop | wc -w

[$ANZ1 -ne $ANZ2] && echo „error in logfile $LOGF or $DEVICE busy“ && exit

set $time ; IZ=0 ; TIME=0 ; ON_TIME=0

[$1 -gt $2] && shift 1 && IZ=2
[$1 -gt $2] && echo "error in logfile $LOGF " && exit ;

while [$IZ -lt $ANZ1] ;
do
TIME=$[$2 - $1]
[$TIME -le 0] && TIME=0
ON_TIME=$[$ON_TIME + $TIME]
IZ=$[1 + $IZ] ; shift 2
done

do_Money_resolve $[$TIME / $UNIT1] ; ValueLa=$Money
do_Money_resolve $[$ON_TIME / $UNIT1] ; ValueOn=$Money
do_Money_resolve $[$ANZ1 * $UNIT2] ; ValueWa=$Money
do_Money_resolve $[$[$ANZ1 * $UNIT2] + $[$ON_TIME / $UNIT1]] ; ValueAll=$Money

do_time_resolve $ON_TIME ; Online=$HMS_time
do_time_resolve $TIME ; Last=$HMS_time
now=date +'%d%b'
}

do_STOP_POP_OUT ()
{
do_calculate
set $CLIENT_OUT
while [$1] ;
do

TO=$1
echo -e \
"Zeitraum \t $first bis $now\
\nEinheiten: \t [$Unit1_TXT] [$Unit2_TXT]\
\nEinwahlen \t $[$ANZ1 + 0] = $ValueWa\
\n\
\nLetzte session \t $Last = $ValueLa\
\n\
\nKosten sessions \t $Online = $ValueOn\
\n\
\nKosten gesamt \t $ValueAll "\
| /usr/bin/smbclient -b 1200 -I $TO -M $TO -U „Online reminder“ >/dev/null &

shift 1
done
#rcsquid restart > /dev/null &
do_final
}

do_START_POP_OUT ()
{
set $CLIENT_OUT
while [$1] ;
do

TO=$1
echo -e \
„\n Start Verbindung mit Provider an $DEVICE“\
| /usr/bin/smbclient -b 1200 -I $TO -M $TO -U „Online reminder“ >/dev/null &

shift 1
done
do_final
}

do_STOP_POP_IN ()
{
do_calculate
set $CLIENT_IN
while [$1] ;
do

TO=$1
echo -e \
„Verbindung an $DEVICE beendet\
\n\
\n\
\nONLINE ZEIT \t = $Last“\
| /usr/bin/smbclient -b 1200 -I $TO -M $TO -U „$SERVER Dial-in“ >/dev/null &

shift 1
done
do_final
}

get_hostname ()
{
HOST=grep -w "$DESTIN" /etc/hosts | cut -f2
if -z $HOST ; then HOST=unknown ; fi
}

do_START_POP_IN ()
{
get_hostname
set $CLIENT_IN
while [$1] ;
do
TO=$1
echo -e \
„Dial in Verbindung an „$SERVER“\
\n\
\nname\t\t$HOST\
\nIP Adresse\t$DESTIN \
\nDEVICE\t\t$DEVICE \
\n\n**************************** L O G I N ****************************“\
| /usr/bin/smbclient -b 1200 -I $TO -M $TO -U „Dial-in“ >/dev/null &

shift 1
done
do_final
}

Start program

do_timelog
exit