Programm für ip versenden
Programm für ip versenden
Hi
Ich hätte gerne ein Program was mir alle paar Stunden die T-Online IP meines Servers auf meinen Webspace bei T-Online schickt.
So könnte ich auch von woanders jeder Zeit auf meinen Server über ssh, ftp oder vnc zugreifen.
Kennt da jemand eine möglichkeit.
Wenn das möglich ist würde ich mir gerne eine einzelne html seite machen, wo die ip drin steht und die dann halt alle 10 Stunden aktualisiert auf den webspace geladen wird.
Ich hätte gerne ein Program was mir alle paar Stunden die T-Online IP meines Servers auf meinen Webspace bei T-Online schickt.
So könnte ich auch von woanders jeder Zeit auf meinen Server über ssh, ftp oder vnc zugreifen.
Kennt da jemand eine möglichkeit.
Wenn das möglich ist würde ich mir gerne eine einzelne html seite machen, wo die ip drin steht und die dann halt alle 10 Stunden aktualisiert auf den webspace geladen wird.
Zwar nicht wie du es willst, aber für diesen Zweck eignen sich hervorragend dyndns-Dienste [1]. Dort kann man sich kostenlos regestrieren und bekommt einen eine Subdomain (zum Beispiel bei_mir_zuhause.homelinux.org ) und es gibt eine Menge Clients (zum Beispiel ddclient sogar als Debianpaket) der einem das Updaten der IP auf dem Service automatisch beim Einwählen übernehmen.
cu
[1] http://www.dyndns.org/
cu
[1] http://www.dyndns.org/
oder du machst ein kleines script, welches du mittels cron immer wieder aufrufst
im script einen ping (da sieht man auch die eigene ip - oder einen ifconfig - den output gleich mit "| cut fn" auseinander nehmen (n für die entsprechende nummer) müsste sicher gehen.
Ich habe mal so was ähnliches gemacht - ev. finde ich dir dies als muster, falls du es brauchst
ein dyndns wäre natürlich schon der bessere ansatz, aber du fragtest ja nach einem programm
im script einen ping (da sieht man auch die eigene ip - oder einen ifconfig - den output gleich mit "| cut fn" auseinander nehmen (n für die entsprechende nummer) müsste sicher gehen.
Ich habe mal so was ähnliches gemacht - ev. finde ich dir dies als muster, falls du es brauchst
ein dyndns wäre natürlich schon der bessere ansatz, aber du fragtest ja nach einem programm
hi
dyndns kenne ich.DAfür brauche ich aber ja auch was damit die ip auf deren homepage kommt.
ein ifconfig ausdruck wäre perfekt.
aber da müssen dann ja gleich mehrere sachen passieren.
Es muss nach einer bestimmen Zeit ein "Ausdruck" gemacht werden der dann per ftp auf meinen webspace geladen wird.
Wenn du ein Muster hast wäre das sehr nett wenn du mir das geben würdest.
nox@uni.de
dyndns kenne ich.DAfür brauche ich aber ja auch was damit die ip auf deren homepage kommt.
ein ifconfig ausdruck wäre perfekt.
aber da müssen dann ja gleich mehrere sachen passieren.
Es muss nach einer bestimmen Zeit ein "Ausdruck" gemacht werden der dann per ftp auf meinen webspace geladen wird.
Wenn du ein Muster hast wäre das sehr nett wenn du mir das geben würdest.
nox@uni.de
hmm
da war einer schneller:
bei mir geht es so:
-----------------------script -----------
#!/bin/bash
# simple program to check ip with ifconfig
# trage hier andere mail-adressen ein wenn gew\xfcnscht
MAIL_RECEIPIENTS=ml@fleig.net
TEMPFILE=/tmp/mail.tmp
# SET DATUM
DATUM=$(date "+20%y.%m.%d")
# calc size in directory rekursivly
MYIP=`ifconfig | head -n 3 | tail -n 1 | cut -d: -f2 | cut -d" " -f2`
echo $DATUM: IP=$MYIP
# error ?
if test $? -ne 0; then
echo -e "\a"
exit 4
fi
echo "IP ist zur Zeit: $iMYIP" > $TEMPFILE
mail -s "check ip-daemon @ xxx" $MAIL_RECEIPIENTS < $TEMPFILE
exit 0
-----------------------end script-----------------------------------
und dieses mittels cron:
(crontab -e):
6 * * * * /home/marco/script >> /home/marco/script.log
so läuft das immer am 6 Minuten ab - Kannst Du ja selber einstellen
OK?
auf einem anderen Rechner muss ich auch:
ifconfig | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f1
eingeben
da war einer schneller:
bei mir geht es so:
-----------------------script -----------
#!/bin/bash
# simple program to check ip with ifconfig
# trage hier andere mail-adressen ein wenn gew\xfcnscht
MAIL_RECEIPIENTS=ml@fleig.net
TEMPFILE=/tmp/mail.tmp
# SET DATUM
DATUM=$(date "+20%y.%m.%d")
# calc size in directory rekursivly
MYIP=`ifconfig | head -n 3 | tail -n 1 | cut -d: -f2 | cut -d" " -f2`
echo $DATUM: IP=$MYIP
# error ?
if test $? -ne 0; then
echo -e "\a"
exit 4
fi
echo "IP ist zur Zeit: $iMYIP" > $TEMPFILE
mail -s "check ip-daemon @ xxx" $MAIL_RECEIPIENTS < $TEMPFILE
exit 0
-----------------------end script-----------------------------------
und dieses mittels cron:
(crontab -e):
6 * * * * /home/marco/script >> /home/marco/script.log
so läuft das immer am 6 Minuten ab - Kannst Du ja selber einstellen
OK?
auf einem anderen Rechner muss ich auch:
ifconfig | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f1
eingeben
Zuletzt geändert von fleig am 27.07.2004 14:15:29, insgesamt 1-mal geändert.
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Bei dyndns kommt die IP per "ddclient" "auf deren Homepage" (in deren DNS wäre richtiger).
Gibt's auch als Debian Paket.
Patrick
Gibt's auch als Debian Paket.
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Wieso wäre das script besser?losnoxos hat geschrieben:Hi
Das mit dem Skript wäre aber noch besser.
Danke!!!
per ddclient hast du nur immer den gleichen hostnamen wenn geupdatet wird und du musst nicht auf deine hp gehen und immer nach der aktuellen ip schauen wenn du dich einloggen willst.
Gruß Athlux
Also ich benutze folgendes für den dyndns service von cjb.net:
---
#!/usr/bin/perl
# Updates IP Address with cjb.net
#
# This version does not uses $HOME/.cjbrc file for configuration
# you have to config your name/pass in this perl script!
#
# $Username = 'yourUsername';
# $Password = 'yourPassword';
#
# 2000.6.23 - Created by Steven Rutter <scribe@ziplip.com>
######################################################################
use IO::Socket;
my $Server = 'www.cjb.net';
my $ServerPort = 80;
my $ServerScript = "/cgi-bin/dynip.cgi";
my $Updated = 0;
my $Silent = 0;
my $Username = '<USERNAME>';
my $Password = '<PASSWORD>';
# Open tcp connection to cjb.net webserver
my $CJB = new IO::Socket::INET (
Proto=>'tcp',
PeerAddr=>$Server,
PeerPort=>$ServerPort,
Reuse=>1 ) or die "Could not connect to $Server : $!\n";
$CJB->autoflush(1);
# Sent update url
print $CJB "GET $ServerScript?username=$Username&password=$Password HTTP/1.0\r\n\r\n";
# Parse response - did we update?
while (<$CJB>) {
if (m/has been updated to point to .*?(\d+?\.\d+?\.\d+?\.\d+?)<.*/i) {
$Updated = $1; # What IP address did we update to?
} elsif (m/(The specified password is incorrect\.)/) {
die "$1 Set in ~/.cjbrc\n";
}
}
close ($CJB);
if (!$Silent) {
if ($Updated) {
print "CJB.NET IP address updated to $Updated\n";
} else {
print "CJB.NET IP Update failed.\n";
}
}
'Havin a good time'
---
dieses rufe ich dann mit einem kleinen script in /etc/ppp/ip-up.d auf auf die art haste den Eintrag immer schön aktuell ohne alle 5 minuten deine ip neu hochzuladen
Nicolas
---
#!/usr/bin/perl
# Updates IP Address with cjb.net
#
# This version does not uses $HOME/.cjbrc file for configuration
# you have to config your name/pass in this perl script!
#
# $Username = 'yourUsername';
# $Password = 'yourPassword';
#
# 2000.6.23 - Created by Steven Rutter <scribe@ziplip.com>
######################################################################
use IO::Socket;
my $Server = 'www.cjb.net';
my $ServerPort = 80;
my $ServerScript = "/cgi-bin/dynip.cgi";
my $Updated = 0;
my $Silent = 0;
my $Username = '<USERNAME>';
my $Password = '<PASSWORD>';
# Open tcp connection to cjb.net webserver
my $CJB = new IO::Socket::INET (
Proto=>'tcp',
PeerAddr=>$Server,
PeerPort=>$ServerPort,
Reuse=>1 ) or die "Could not connect to $Server : $!\n";
$CJB->autoflush(1);
# Sent update url
print $CJB "GET $ServerScript?username=$Username&password=$Password HTTP/1.0\r\n\r\n";
# Parse response - did we update?
while (<$CJB>) {
if (m/has been updated to point to .*?(\d+?\.\d+?\.\d+?\.\d+?)<.*/i) {
$Updated = $1; # What IP address did we update to?
} elsif (m/(The specified password is incorrect\.)/) {
die "$1 Set in ~/.cjbrc\n";
}
}
close ($CJB);
if (!$Silent) {
if ($Updated) {
print "CJB.NET IP address updated to $Updated\n";
} else {
print "CJB.NET IP Update failed.\n";
}
}
'Havin a good time'
---
dieses rufe ich dann mit einem kleinen script in /etc/ppp/ip-up.d auf auf die art haste den Eintrag immer schön aktuell ohne alle 5 minuten deine ip neu hochzuladen
Nicolas
Hey,
ich benutze ddclient selber.
(es ist eideutig die bessere wahl)
Ich meinte nur ->>>> wenn er das script benutzen muß/will,
soll er es doch bitte von pppd starten lassen.
Vorteil : nur beim verbindungsaufbau bekommt man eine neue IP, die Scripte unter ip-up.d werden dann jeweils ausgeführt und die seite wird aktualisiert.....
Per Cron ist eher ungünstig (ist ein wenig wie overkill),
was hat cron mit dem verbindungsaufbau zu tun
Edit : Da war wohl jemand der gleichen meinug/schnell
ich benutze ddclient selber.
(es ist eideutig die bessere wahl)
Ich meinte nur ->>>> wenn er das script benutzen muß/will,
soll er es doch bitte von pppd starten lassen.
Vorteil : nur beim verbindungsaufbau bekommt man eine neue IP, die Scripte unter ip-up.d werden dann jeweils ausgeführt und die seite wird aktualisiert.....
Per Cron ist eher ungünstig (ist ein wenig wie overkill),
was hat cron mit dem verbindungsaufbau zu tun
Edit : Da war wohl jemand der gleichen meinug/schnell