Skip to content

olegslavkin/modemulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

modemulator

Build Status

modemulator is small golang server that emulates a small subset of the Hayes AT command set. The server can be configured to connect to other backend services via the telnet protocol when a user dials specific numbers.

The server is intended to be used with a serial terminal or via a virtual serial port in a virtual machine to emulate a modem connection to a remote server.

Port BAUD Port BAUD Port BAUD
10003 300 10012 1200 10024 2400
10048 4800 10096 9600 10144 14400
10192 19200 10288 28800 10336 33600
10560 56000 11150 115000

Connecting using socat and minicom

Example on how to connect to the shell server using socat and minicom at 2400 baud

$ socat -d -d pty,rawer tcp:dialup.burble.dn42:10024 &
...
... socat[xxx] N PTY is /dev/pts/2
...
$ minicom -D /dev/pts/2

Within minicom type ATDT54311 to dial the shell server.

Welcome to minicom 2.8

OPTIONS: I18n 
Port /dev/pts/2, 14:01:58

Press CTRL-A Z for help on special keys

ATDT54311
CONNECT 2400
Ubuntu 22.04.1 LTS
shell-fr-par1 login: 

Connecting using qemu

Add a virtual serial port to QEMU using -chardev and -device.

e.g.

-chardev socket,id=bdn42,port=11150,host=dialup.burble.dn42,server=off -device pci-serial,chardev=bdn42