Я считаю, что Даррон имел в виду getsockname()
. Это то, что вам нужно, если вам нужно программно определить номер порта на стороне клиента (сторона, вызывающая connect()
). На стороне сервера (сторона, вызывающая bind()
), вы будете использовать getpeername()
для получения той же информации из подключенного сокета.
Однако, если вы отлаживаете и не можете изменить код, в конечном итоге вы используете такие вещи, как утилита netstat или sockstat, в зависимости от операционной системы. Я не уверен, какие утилиты доступны в Linux (или даже в вашем конкретном пакете), но я бы начал с man sockstat
. Если он установлен, вы можете запустить его с любой стороны и посмотреть, какие конечные точки были назначены каким процессам. Объедините это с grep
, и вы обычно сможете определить, какой адрес фильтровать в Ethereal. Удачи!