Win3x.Org

Windows & DOS Community

Emulateur de modem AT

Post Reply   Page 1 of 1  [ 3 posts ]
Author Message
Ankeraout
Post subject: Emulateur de modem AT
Posted: 24 May 2020 18:48
Membre inscrit
User avatar
Offline
 
Posts: 5
Joined: 03 Sep 2014 13:09
Retro PC: Toshiba SP 4290 | 800x600 | 320 MB RAM | 6 GB HDD
 
Bonjour à tous,

Je vous présente un petit projet qui ne sert à rien d'émulateur de modem AT sur TCP.
L'idée c'est de simuler un modem qui serait branché sur le port série de l'ordinateur (du coup dans notre cas ça s'utilise sur une VM).

Pour l'utiliser c'est assez simple, faites un git clone du dépôt suivant : http://github.com/Ankeraout/at-modem-emulator, puis lancez la commande "make". Bien sûr, tout cela sous Linux, avec un compilateur et la librairie pthread installée ;)

Vous pouvez ensuite le lancer en tapant bin/modem (en mode super utilisateur, sinon vous aurez une erreur comme quoi le programme n'a pas réussi à créer l'interface réseau sous Linux).
Vous constaterez qu'une nouvelle interface réseau "tun0" est créée sur votre ordinateur, et elle possède l'adresse IP 192.168.50.1/24.

Si vous voulez utiliser ce programme uniquement pour faire un réseau local entre machines virtuelles, vous pouvez vous arrêter là.
Sinon, si vous souhaitez que vos machines virtuelles accèdent à Internet, il faut lancer deux commandes supplémentaires :
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o <votre interface wifi/ethernet ici> -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1
La première ligne changera l'adresse IP source des paquets envoyés par votre machine virtuelle en mettant à la place l'adresse IP de votre interface physique, et redirigera au passage le paquet vers cette dernière. Cela permettra de router les paquets entrants.
La deuxième ligne active le forwarding IPv4 sur Linux. Sans ça, votre noyau ne fera pas passer les paquets d'une interface à une autre.

Ensuite, rendez vous dans votre logiciel de virtualisation, et redirigez un des ports série de la machine virtuelle vers le socket TCP de votre machine exécutant le logiciel.

Par exemple avec VirtualBox:
[ img ]

Vous pouvez ensuite démarrer votre machine virtuelle. Le programme devrait détecter une connexion et allouer une adresse IP à votre machine virtuelle :
client_init(): allocated IP address 192.168.50.2 for a new client from 192.168.144.200.
Après ça, vous n'avez plus qu'à créer une connexion réseau dans le système d'exploitation virtualisé, et il s'occupera de la communication avec le modem ;)
(Si l'OS vous le demande, précisez que vous utilisez le protocole de communication PPP)

Je tiens à préciser que j'ai codé et testé ce programme uniquement avec Windows 98 SE et Windows ME.
Il se peut que d'autres OS envoient des commandes non implémentées au modem.
Si c'est le cas, signalez-le dans le topic en précisant l'OS utilisé, j'essaierai de voir ce qui cloche.

J'ai aussi remarqué que sous Windows 98, il y a un certain temps d'attente de l'ordre de 1mn où il ne se passe rien entre le moment où Windows envoie la commande de numérotation et l'ouverture de la connexion. Je n'ai pas ce problème sous Windows ME.


Top
Profile Quote
Joet BERNARD
Post subject: Re: Emulateur de modem AT
Posted: 21 May 2021 02:41
Modérateur
User avatar
Offline
 
Posts: 2874
Joined: 19 Mar 2016 20:33
Retro PC: Compaq Presario 1926, Celeron 400 MHz, 192 Mo RAM
 
Juste un petite question (qui au passage réduit la liste des topics sans réponses) fonctionne-t-il avec WSL ??

_________________

Accueil de mon Index de sites
Accueil de WINJOY Signé JARB dans la place
Collection à peu près à jour
Mon nouveau serveur Discord
KB835732


Top
Profile Quote
Ankeraout
Post subject: Re: Emulateur de modem AT
Posted: 13 Jul 2021 18:02
Membre inscrit
User avatar
Offline
 
Posts: 5
Joined: 03 Sep 2014 13:09
Retro PC: Toshiba SP 4290 | 800x600 | 320 MB RAM | 6 GB HDD
 
Je ne pense pas que WSL supporte les interfaces réseau tun/tap nécessaires au fonctionnement de ce programme, donc je pense que non.


Top
Profile
Display: Sort by: Direction:
Post Reply   Page 1 of 1  [ 3 posts ]
Return to “Projets aboutis”
Jump to: