The following user commands are available on XRouter nodes:
| @ | ? | Arp | Bye | CHat | Connect | Finger |
| Help | Info | IProutes | Links | MHeard | Nodes | Ports |
| PIng | Routes | Stats | Telnet | TTylink | Users | Version |
Commands are not case-sensitive, and only the portion shown in UPPER- CASE is required.
@ Request sysop status
Syntax: @ [string]
In order to gain access to sensitive commands, remote sysops
must first complete a password challenge. Firstly, the
remote sysop enters "@" alone, and the system replies with a
matrix consisting of 5 lines of 5 numbers thus:
4 1 6 3 7
3 5 2 6 3
7 1 9 2 4
2 7 1 4 6
3 5 2 6 1
The remote sysop must then choose ONE of the lines, and send
the "@" command again, followed by the 5 characters from the
password string which correspond to the 5 numbers on the
chosen line. There must be a space after the "@" but no
spaces between the characters.
If the challenge is correctly answered, the system replies
with "Ok", and the user has remote sysop status.
If the user does not have a password registered in
PASSWORD.SYS, the response to this command will be "Bad
command".
Note: Console sysops already have full access and don't need
to use this command.
[return to top]
? Obtain command list or syntax help
Syntax: ? [cmd]
If used without arguments, this command sends a list of the
basic commands available to the user.
If the argument is an asterisk (e.g. "? *") it lists all the
available commands.
Using the form "? cmd" shows the syntax for "cmd".
[return to top]
ARP Display Address Resolution Protocol table
Syntax: ARP [ LIST ]
The ARP command is used to display the Address Resolution
Table, which is responsible for mapping IP addresses to
callsigns.
The LIST subcommand is available to everyone, and has the
same effect as using ARP by itself. Other subcommands are
available to sysops only (see sysop command section). The
response may look like this:
G8PZT:KIDDER}
Host type Hw Address
44.131.74.131 AX25 GB7WV-12
44.131.90.6 AX25 GB7IPT-9
44.131.95.240 AX25 GB7GH
44.131.93.240 AX25 G4FPV
44.131.91.245 AX25 G8PZT
44.131.91.4 AX25 G8UZV
44.131.91.2 AX25 GB7PZT-5
44.131.91.66 AX25 G8BKL-5
44.131.136.10 AX25 G1LOA-10
44.131.138.10 AX25 GB7MIP-8
(End of list)
<host> is the neighbour's IP address, <type> is either "ax25"
or "ether" (Ethernet) and <hw_address> is the hardware
address or callsign of the neighbour.
In order for this command to have any meaning, the router
must have an IP address and be connected to an IP-capable
network.
[return to top]
BYE Disconnect from the router.
This command forces a disconnection, and is useful when the
user does not have easy access to a TNC's "command mode", or
when the uplink is from another node with the "stay" option
enabled.
Disconnection of an uplink terminates all dependent sessions.
[return to top]
CHAT Connect to the chat server.
Syntax: CH[AT]
The CHAT command connects the user to the integral chat
server, which has its own set of commands detailed in a
separate section. [Chat server commands]
The chat server may also be reached directly by telnetting to
the router's TCP port 3600.
[return to top]
CONNECT -- Make an outgoing AX25 connection
Syntax: C[ONNECT] [port] <call> [V[ia] digi[,digi...]] [S]
The CONNECT command, which may be abbreviated to "C",
instructs the router to make an outgoing (downlink) AX25
level 2 or 4 connection with another system.
If the target is a known node (i.e. one which is in the nodes
table) a port number is not required, and will be ignored if
supplied. The router will attempt to make a level 4
connection with the target, using information from the
routing tables. However, a level 2 connection with an
immediately adjacent node may be forced by using the target's
alias with an arbitrary SSID, specifying a port number if
required (e.g. C 4 MLVN-1)
If the target is not a known node, the router will attempt to
make a level 2 connection. On multi-port systems, a port
number must be specified.
The "V" (via) parameter allows up to 7 digipeaters to be
specified, e.g.: "C 3 G6YAK V G8NTU G8EPR"
The "S" (stay) parameter, e.g. "C <nodecall> S" causes the
uplink session to stay connected when the downlink session to
the target node is terminated.
See also: TELNET (nake TCP connections)
[return to top]
FINGER -- Display information about users.
Syntax: FINGER <user | user@host | @host>
If the command is of the form "FINGER <user>", the router
searches the FINGER sub-directory for a text file which
matches "user", and sends the contents of that file if it
exists. The file may contain anything you like, and "user"
may be a callsign, nickname or other form of hostname
consisting of up to 8 legal DOS characters
If the form "user@host" or "@host" is used, the router will
attempt to resolve "host" into an IP address and establish a
TCP/IP contact with the finger server on that host.
Examples: FINGER g8pzt Info on local user g8pzt
FINGER g8jvm@iptlfd
Limitations: This feature is very rudimentary at present,
requiring the user account files to be created
by the sysop.
[return to top]
HELP Displays help for commands and other topics
Syntax: H[ELP] [cmd | topic]
If no arguments are given, a short text gives directions on
how to access help.
If the argument is a topic or a command name, the contents of
the appropriate file in the HELP sub-directory are displayed.
The argument "*" will list all the help topics available.
Example: H PING will give help for the PING command.
Limitations: The command or topic name must at present be
given in full, thus "H NODES" is acceptable,
but "H N" is not (unless you duplicate the
NODES.HLP file to N.HLP). Future versions will
search for the closest match.
Note: The help available using the HELP command is intended
to be of use to both sysops and users alike, and is
kept brief in order to avoid wasting airtime. The MAN
system gives more detailed information for sysops.
The sysop may customise the help files, or add his/her
own help topics to the HELP directory as required. The
HELP directory is located beneath the router's working
directory, and the files are simply plain text files
with the .HLP extension. Files without the .HLP
extension will not be listed or accessible.
See also: ?, MAN, INFO
[return to top]
INFO Displays information about the node and other topics.
Syntax: INFO [topic]
If no arguments are given, the INFOMSG text is sent to the
user.
If the sysop has created other INFO topics, the user will
then be prompted to enter "INFO *" to display the list of
topics.
If [topic] is specified, the contents of the appropriate .INF
file, if it exists, are sent to the user.
Example: I FOURPAK Displays fourpak.inf file.
Note: The sysop may create INFO topics as required, and
there is no need to restart in order to activate them.
Each topic should be created as a plain text file with
the .INF extension and should be placed in the INFO
sub-directory located immediately under the router's
working directory.
Files without the .INF extension will not be listed or
accessible.
Limitations: Topic names must consist of a maximum of 8
legal DOS characters.
See also: ?, HELP, MAN
[return to top]
IPROUTE -- Display IP routing table.
Syntax: IPR[OUTE]
The IPROUTE command, which may be abbreviated to IPR,
displays the contents of the table responsible for routing of
IP datagrams.
This table is initialised from file IPROUTE.SYS when the
router is started, and may contain other entries "learned" by
the system, or entered by the sysop. It is not required in
any way for normal AX25 and NETROM activities.
For each route it displays the IP address, the subnet mask,
the gateway address, the port and the mode (Datagram, VC or
Netrom).
The command "IP ROUTES" produces an identical result.
[return to top]
LINKS -- Displays the currently active level 2 sessions.
This lists level 2 user up/downlinks and inter-node links.
It is mainly of interest to sysops, and shows the callsigns
being used at both ends of the link plus some other data, for
example:
G8PZT:KIDDER} Links:
Remote Local Prt Sta Ver Try T3 Pac Max T/o Txq Rxq Asm
G4FPV G8PZT 5 5 2 0 177 160 1 904 0 0 0
GB7PZT G8PZT 7 5 2 0 181 240 7 908 0 0 0
GB7GH G8PZT 9 5 2 0 176 120 1 903 3 1 0
(End of list)
Remote and Local are the L2 callsigns in use at either end of
the link.
Prt - Port number
Sta - Link state (2 = connecting, 4 = disconnecting,
5 = connected)
Ver - AX25 version number
Try - Retry count
T3 - Current state of the LAPB T3 countdown
Pac - Paclen
Max - Maxframe
T/o - Timeout
Txq - No. of L2 frames queued for transmission
Rxq - No. of L2 frames on receive queue
Asm - No. of frame fragments awaiting reassembly
Note: The exact format of this response may differ in future
versions.
[return to top]
MHEARD -- List recently heard stations.
Syntax: MH[EARD] <portnum>
If the facility is enabled on the specified port, the MHEARD
command lists the most recently heard stations on that port,
along with the date / time of reception, and the number of
frames heard.
This is useful for users to discover who else the router can
hear, to aid the search for suitable digipeaters, and to
diagnose problems. Even on linking-only ports, where there
is only usually one partner, it provides a useful indication
when the frequency is being encroached, either by deliberate
squatting, unauthorised attempts to link, or lift conditions.
The command may be abbreviated to "MH".
Example: MH 3 gives a heard list for port 3....
G8PZT:KIDDER} Heard list for port 3:
Callsign Last-Date/Time Frames
G1LOA-10 09/06 13:42 309 NODE
G3TQG-2 * 09/06 13:19 599
GB7PZT-15 * 09/06 13:18 708
DY25 09/06 10:19 4
An asterisk (*) indicates a digipeated signal. The far right
column indicates the reception of Netrom, IP and ARP frames.
Note: For each port, the MH facility can be enabled /
disabled and the maximum length of the list specified
by appropriate entries in the .CFG file.
[return to top]
NODES -- Display contents of the Nodes table.
Syntax: N[odes] [call | * | T]
When used without arguments, this command lists all the
NetRom nodes (but not KA nodes) known to the router, except
those "hidden" nodes whose alias begins with the hash (#)
character.
If the argument is an asterisk (*), all nodes, including
"hidden" nodes will be displayed.
If the argument is a known node call or alias, the preferred
route to the specified node, and up to two alternative routes
will be displayed. Example: N MLVN The response looks like
this:
G8PZT:KIDDER} Routes to: MLVN:G4FPV RTT=28 FR=3538 Q=0
> 150 5 5 G4FPV
110 5 9 GB7GH
0 4 2 G1DKI-7
RTT stands for Round Trip Time and is a running average of
the time taken to get a response from that node.
FR indicates the number of level 3 frames sent to that node.
Q is the number of Level 3 frames currently queued for that
destination.
A chevron ">" in the left-most column indicates the currently
active route.
The first number shows the overall path quality to the target
node, the second is the "obsolescence count", and the third
number is the port designator. The obsolescence count is a
measure of how recently the route was heard about or used.
It is usually reset to 5 upon hearing a nodes broadcast from
the neighbour node, and decrements by one every time this
node makes a node broadcast (typically once per hour). If it
drops below 4 the route is considered to be obsolete.
If the requested nodecall or alias is not in the table, an
error message results.
Entering N T will list the round trip times and frame
counts for all nodes which have non-zero figures, producing a
display like this:
G8PZT:KIDDER} Nodes:
WV12:GB7WV-12 RTT=20 FR=255
WV13:GB7WV-13 RTT=14 FR=26 Q=2
WV22:GB7WV-2 RTT=14 FR=31
Examples:
N - List nodes except those beginning with #
N * - List nodes including those beginning with #
N MLVN - Display routes to MLVN node
N T - List all nodes with non-zero RTT and FR counts
[return to top]
PING -- Send ICMP echo request(s).
Syntax: PING <hostname | ipaddr> [length [interval]]
Sends ICMP echo request(s) to the specified IP address or
hostname for the purposes of route testing.
An optional data portion of "length" bytes may be specified,
and the echo request may optionally be repeated every
"interval" seconds.
If there is a reply it will be displayed. For repeating
pings the system displays the number sent/rcvd, the average
round trip time in milliseconds, and the success rate. The
"wait for reply" process may be cancelled at any time by
entering <CR> by itself.
If you specify a hostname (e.g. gb7pzt.ampr.org) instead of a
numeric IP address the request may take longer to action if
the hostname isn't found in DOMAIN.SYS, because the name will
have to be resolved by sending a DNS request.
Examples:
PING 44.131.91.2 Single ping of minimum size
PING 44.131.91.2 50 Single ping with 50 bytes data
PING gb7pzt Uses DNS to resolve host.
PING 44.131.91.2 512 10 Ping 512 bytes every 10 secs
The response for a single ping looks like this:
G8PZT:KIDDER} PING: Pinging 44.131.91.2: hit <RETURN> to
quit...
44.131.91.2: echo reply - rtt 495 msec
And for a repeating ping it looks like this:
G8PZT:KIDDER} PING:
Target Interval Sent Rcvd % Ave Rtt
44.131.91.2 9955 1 1 100 880
44.131.91.2 9955 2 2 100 880
44.131.91.2 9955 3 3 100 880
Limitations: The ROUTER must have an IP address and have IP
routing defined for this command to work.
Unrealistic ping rates are prevented.
Availability: The PING command is currently available to all
users, but due to the potential for abuse the
repeating ping option may be made sysop-only in
future versions.
[return to top]
PORTS -- List the available ports.
Syntax: P[ORTS]
Displays the router's port numbers along with their brief
descriptions as specified by the PORTID fields in the CFG
file.
The command may be abbreviated to "P".
[return to top]
ROUTES -- List neighbouring nodes which can be heard directly.
Syntax: R[OUTES] [*]
The ROUTES command, which may be abbreviated to "R", lists
the immediately adjacent NetRom nodes, i.e. those who can be
heard directly, providing those nodes are making NetRom nodes
broadcasts.
For each neighbour node the display shows the port number,
the neighbour's callsign, the route quality, and the number
of nodes accessible through that neighbour. A chevron (>) in
the left-most column indicates a route which is in use, and
an exclamation mark (!) in the right-most column indicates
that the data has been "locked in" by the sysop. See
example...
If any argument is supplied, it will give additional
information mainly of interest to sysops. The additional
fields are the current MAXFRAME, FRACK and PACLEN settings,
the number of information frames sent, the number of
information frames re-sent, the retry rate, which is the
ratio of the two preceding figures (or * if both are zero),
and the time a nodes broadcast was last heard from the
neighbour.
Examples:
If no arguments are supplied, the output looks like this:
G8PZT:KIDDER} Routes:
Port Callsign Qty Nod
> 5 G4FPV 150 70!
> 7 GB7PZT 250 1!
> 8 GB7WV-12 100 32!
> 9 GB7GH 150 104!
10 GB7CL 150 1!
> 11 GB7IPT-7 150 3!
12 G1LOA-10 150 2!
The R R form produces an output similar to this:
G8PZT:KIDDER} Routes:
Port Callsign Qty Nod Max Frack Pac Sent Resent Rty% Last Heard
> 5 G4FPV 150 70! 5 7000 160 15550 1507 9% 09/06 13:46
> 7 GB7PZT 250 1! 7 5000 240 25387 4 0% 09/06 13:47
> 8 GB7WV-12 100 32! 1 4000 120 12170 3426 28% 09/06 13:35
> 9 GB7GH 150 104! 4 7000 120 7442 1335 17% 09/06 13:47
10 GB7CL 150 1! 3 7000 240 330 1 0% 09/06 13:23
> 11 GB7IPT-7 150 3! 2 7000 120 19401 2928 15% 09/06 13:47
12 G1LOA-10 150 2! 4 7000 120 10745 3379 31% 09/06 13:39
[return to top]
STATS -- Display router statistics.
Syntax: S[TATS] [*]
Displays information about the performance of the router,
such as the uptime, the no. of packets routed, error rates
etc. See elsewhere in this manual for a detailed explanation
of the output.
Entering S by itself will give a single page synopsis,
whereas "S *" will produce the full stats.
Note: On multi-port systems the display may wrap, and on busy
systems some of the fields may run together. The exact
format of the display is not yet finalised and the
problems will be addressed in future versions.
[return to top]
TELNET -- Establish a TCP "connection".
Syntax: TEL[NET] <hostname | ipaddress> [port]
The TELNET command allows users to "connect" to other TCP/IP
systems, using a "shell" account, i.e. the user does not need
to be running TCP/IP as the router does all the TCP/IP <>
AX25 translation.
The optional <port> parameter specifies the desired service
on the target host. If not supplied, the default is 23, i.e.
the Telnet (remote login) port. Common port numbers are 21
(FTP), 23 (Rlogin), 25 (SMTP), and 87 (TTYLINK).
Examples: TEL 44.131.90.6 21 - Connect to gb7ipt FTP.
TEL gb7lgs.ampr.org - Remote login to gb7lgs
TEL gb7pzt 25 - Connect to gb7pzt SMTP
Limitations: This command will only work if the router has an
IP address and IP routing has been defined. It
should be obvious that the router also needs to
be connected to an IP-capable network!
Notes: Specifying target hosts by their IP addresses will
often result in faster connection if the hostname is
not in domain.sys, as it will not have to wait for DNS
resolution.
See also: PING
[return to top]
TTYLINK -- Chat directly to another TCP/IP station
Syntax: TT[YLINK] <hostname | ipaddress> [port]
The TTYLINK command allows users of any type (i.e. AX25,
console, wire link, TCP/IP) to chat directly to TCP/IP users.
This is similar to TELNET, except that the default port
number is 87, which is reserved for keyboard to keyboard
chat. Other port numbers may be specified.
Examples: TTY 44.131.91.4
TTY g8pzt
Limitations: In order for this command to work, the router
must have an IP address and have IP routing
defined.
Note: If the target hostname is not known to the router, it
will be more efficient to specify the target as an IP
address, since this will not require DNS resolution.
See also: TELNET
[return to top]
USERS Shows who is using the router.
Syntax: U[SERS]
The USERS command displays the circuits which originate or
terminate at the router. "Through" connections are not
shown.
No arguments are required, and a typical response is as
follows:
G8PZT:KIDDER} Users:
Session Start time S Uplink type/user
807 09/06 13:25 1 L4 (G8PZT@GB7PZT) <--> (G6YAK-1) L2
UPLINK is an incoming connection, and DOWNLINK is an outgoing
connection. The type may be L2 (ax25 level 2), L4 (ax25
level 4), TCP (TCP/IP), CON (console i.e. sysop), or TTY
(Teletype, i.e. an ASCII wire link).
Established circuits are shown by <--> and circuits being
set up are shown thus: <~~>.
SESSION is a unique session number for the circuit.
For TCP/IP connections the IP address and TCP port number are
displayed in place of callsign - this may be subject to
future review if I decide to make TCP users supply a callsign
at login.
Unlike the equivalent BPQ command, this does not show the
version number - use the VERSION command for that, or buffer
count (this system does not use fixed buffers).
[return to top]
VERSION Display software version.
Syntax: V[ERSION]
The VERSION command displays the router version, author and
compilation date. You should quote the version number when
reporting any bugs.
[return to top]