Viewing TCP connections to an xNode

Updated by Bryan Jones

Scope

As a troubleshooting tool, sometimes it's helpful to see what devices have a network connection to an xNode and what ports they are connected on. This document shows you how to show the connections to an xNode and read the results.

This process requires the use of a terminal program (such a PuTTy) and requires the input of commands from a command line. If you are not familiar with or are uncomfortable with this, please contact someone on your IT staff for assistance.

Description

Telos Alliance xNodes do not allow unlimited numbers of connections. The number of allowed connections is somewhere around 24; however, some of those connections are used internally.

External connections can be from many devices. The most common in any facility is Pathfinder. Other connections come from many automation systems that monitor or control GPIO or audio routing.

Listing the TCP Connections

  1. Using PuTTy (or another terminal program) make a Telnet connection to your xNode.
In more recent versions of xNode software, Telnet is disabled by default for security reasons. If you can't connect, make sure Telnet is enabled.
  1. Log in with the name "user" and the password (if any) set on your xNode.
  2. From the/home>prompt, type the commandcat /proc/net/tcpand press Enter.
Widen your Telnet window so that all commands are shown on a single line and don't word-wrap.

Your terminal window looks something like this.

Reading the connection information

All of the information is in hex format, so find yourself a good hex to decimal converter. There are many online and most Windows or Mac calculators will convert hex to decimal too.

There are two columns you will be primarily concerned with. The "local_address" column, and the "rem_address" column.

The columns display the IPAddress:Port number for the connection in hexadecimal format. So could be written like this. (we'll use Line 4 from above as an example)

4: C0A80272:005D C0A80214:DA8D

COA80272 is the Hex equivalent of the local_address. So C0.A8.02.72on port005D

  • C0 is hex for 192
  • A8 is hex for 168
  • 02 is hex for 2
  • 74 is hex for 114
  • 005D (or just 5D) is hex for port 93

Therefore, our local_address is 192.168.2.114 on TCP port 93 (the LWRP port)

C0A80214 is the Hex equivalent of the rem_address. So C0.A8.02.14 on port DA8D

Using the same conversions, the remote address is 192.168.2.20, port 55949

The xNode has a local connection from 192.168.2.20. That device (computer in this case) is connected locally to port 93. The xNode is connected back to that device on port 55949. That return port is mostly irrelevant.

A couple of helpful items

Commonly seen ports (the hex numbers after the colon)

  • 022A is TCP port 554 used for RTSP audio connections
  • 0050 is TCP port 80 used for web connections
  • 0017 is TCP port 23 used for telnet connections (if enabled)
  • 005D is TCP port 93 used for Livewire Routing Protocol connections

Local_address and rem_address that are all zeros (00000000:0050 for example) are open "listening" ports that are available for connection. If you dump this TCP connection information and don't see "listening" ports then other devices would not be able to connect.

Most of the time you only need to convert the last digit (maybe the last two). In this example, the devices will likely all come from the 192.168.2.X network. So everything C0A802xx will be from that network.

7F000001 is the equivalent of the loopback address, or 127.0.0.1, and indicates an internal connection.

Let us know how we can help

If you have further questions on this topic or have ideas about improving this document, please contact us.


How did we do?