par Michael Driscoll fenris@lightspeed.net
Voici un hack très simple qui permet de mettre sa nouvelle IP sur une page sur le serveur http de votre FAI. Il nécessite :
ncftp
(A moins que vous réussissiez à écrire un script qui utilise le ftp normal)ftp
à votre FAI.Vous pouvez voir ce hack en marche à frob.base.org/.
(J'ai aussi reçu des scripts de shadow@indirect.com pour un autre hack qui fait pratiquement la même chose, bien qu'il utilise le ftp normal et sont plus complexes. Vous pouvez les trouver à l'adresse frob.base.org/contrib.tar.gz).
Note : une alternative à ce hack (utilisant les CGI) est présente dans le hack 14. C'est pratique pour ceux qui n'ont pas d'accès ftp à leur FAI.
httpd
, avec vos propres CGI (mettre un pointeur http://
sur votre nouvelle IP pour accéder à votre propre httpd
Tout d'abord, vous allez avoir à écrire un peu de HTML pour aller sur la page du pointeur. Ce n'est pas trop l'objectif de ce HowTo de vous apprendre le HTML, alors, vous allez devoir l'apprendre par vous même. Allez jeter un oeil sur
w3.org et
hoohoo.ncsa.uiuc.edu, ils ont de bons manuels de base en ligne. Bon, quand vous écrivez les pages, à la place de l'adresse de votre machine, on va mettre une ancre reconnaissable (je vais utiliser le mot '--IP--'
dans cet exemple) comme ça, on va pouvoir utiliser un script qui remplacera l'ancre par l'adresse IP. Par exemple, une page pas mal serais :
<HTML>
<HEAD>
<TITLE>Ceci est la page de l'IP dynamique de Mike Driscoll</TITLE>
</HEAD>
<BODY>
<P>La dernière adresse IP connue de ulfheim.lightspeed.net est :
<P><a href="telnet://--IP--">--IP--</a>
</BODY>
</HTML>
Remarquez que le href
et le nom du lien utilisé '--IP--'
, que le script va remplacer par votre IP avant l'envoi des pages sur le serveur.
Pour cet exemple, je supposerais que vous avez nommé ce fichier /etc/ppp/index.html
.
par Artur Skawina skawina@usa.net
Au lieu de juste uploader la page avec votre IP courante, il est possible d'envoyer une page qui redirigera tout le monde sur votre machine, par exemple, un tag comme ça dans la section HEAD
d'une de vos pages :<META HTTP-EQUIV="refresh" CONTENT="3; URL=http://--IP--/page">
ncftp
pour la mise à jour automatique des pages.
Avant de faire cette partie, on va d'abord regarder quelle version de ncftp
vous avez. Pour le savoir, exécutez ncftp
Voici deux exemples :
fenris@ulfheim:~$ ncftp
1.9.5 (October 29, 1995)
ncftp>_
mdriscol@ultrix6:/usr/stu/mdriscol$ ncftp
NcFTP 2.0.5 (May 1, 1995), by Mike Gleason, NCEMRSoft.
NcFTP> _
Suivant la version de ncftp
, on va faire tout d'une façon différente. Si la version est 1.x.x (la mienne est 1.9.5), utilisez la première méthode, si la version est 2.x.x (celle de mon compte ç l'école est 2.0.5) alors, utilisez la seconde méthode.
ncftp
1.x.xMaintenant, on va ajouter quelques trucs au .ncftprc
de root. Dans le mien, j'ai ce qu'il suit :
#set auto-binary on
#set recent-list off
machine Le.serveur.de.votre.FAI
user Votre_nom_d'utilisateur
password Votre_mot_de_passe
macdef init
cd /vers/votre/repertoire
put /tmp/index.html index.html
quit
Le auto-binary s'assure qu'on sera en mode binaire, le recent-list empêche le fichier .ncrecent
d'être crée (je ne l'aime pas, c'est tout, vous pouvez en avoir un si vous voulez), et la l'entrée machine définit le nom d'utilisateur, le mot de passe, et les actions à faire (vous n'aurez peut être pas besoin du cd
, moi, je n'en ai pas besoin, puisque le serveur de mon FAI me met automatiquement dans le bon répertoire).
ncftp
2.x.xpar Tomas Jamate tvj@miser.umass.edu
[Note : J'ai modifié le script de Tomas un peu avant de l'inclure dans le HowTo, si je l'ai cassé, dites-le-moi ! -- MCD]
Voici les fichiers dont je me suis servi pour faire marcher ncftp
v2.x.x avec le hack 8. Notez que ncftp
v2.x.x met tous ses fichiers de configuration dans ~/.ncftp
. Je ne garantis pas que cela marchera pour vous, mais ça marche pour moi. Lisez les pages de man si vous voulez connaître les autres options de ncftp
.
Premièrement, connectez-vous manuellement à votre FAI avec ncftp
.
$ ncftp -u service.provider.com
Le -u
oblige à demander le nom d'utilisateur et le mot de passe. Une fois connecte, faites un cd
dans le répertoire ou sont vos pages. Cela va créer une entrée pour service.provider.com
dans le bookmark de ncftp
. (Je n'aime pas trop les bookmarks, mais hé, ça marche). Quittez ncftp
.
Editez ~/.ncftp/bookmarks
. Vous allez voir une entrée avec votre nom d'utilisateur, vous devrez ajouter le mot de passe juste après le nom d'utilisateur. ça devrait ressembler à :
NcFTP bookmark-file version: 6
Number of entries: 1
service,service.provider.com,Utilisateur,Motdepasse,,/repertoire/de/votre/page,[etc]
Maintenant créez et éditer ~/.ncftp/macros
, il devra ressembler à ça :
macro .open.example
put /tmp/index.html index.html
exit
end
Maintenant, vous pouvez envoyer automatiquement votre page avec :
"ncftp -L example"
, le -L
force le programme en mode ligne de commande
ou
"ncftp -Lf example"
, le -f
force à recouvrir le fichier existant, pour le paranoïaque ;-)
sed
Maintenant, on va écrire la routine sed
. Mettez les lignes qui suivent dans /etc/ppp/ip-up
:
# On commence le code de l'IP dynamique
if [ -e /tmp/index.html ]; then
mv /tmp/index.html /tmp/index.html-`date +%s`
fi
cat /etc/ppp/index.html | sed -e s/--IP--/$4/g > /tmp/index.html
ncftp le.serveur.de.votre.fai > /dev/null 2>&1
D'abord, on vérifie la préexistence de /tmp/index.html
. Un cracker pourrait essayer d'exploiter notre utilisation de ça pour sortir n'importe quel fichier du disque en le liant à /tmp/index.html
et en attendant que le script soit lancé. Donc, si le fichier existe déjà, on le sauvegarde gentiment pour que vous puissiez y jeter un coup d'oeil plus tard, empêchant toutes manipulations frauduleuses...
Puis, on lance le script sed
. Il substitue toutes les occurrences de notre ancre '--IP--'
avec notre nouvelle adresse IP et envoie le tout dans le nouveau index.html
dans /tmp
. ncftp
est alors lance pour envoyer notre nouveau /tmp/index.html
qui à l'IP actuelle en lui.
Félicitations, vous l'avez fait, vous avez maintenant une home page dynamique que vous pouvez utiliser pour pointer sur votre machine ! Amusez vous bien en le personnalisant ! Éditez juste /etc/ppp/index.html
, et il sera mis à jour la prochaine fois que vous vous connectez à votre FAI.