Você pode querer dar uma olhada na ferramenta de linha de comando socat
para simular conexões de todos os tipos (TCP, UDP, etc.). Há uma lista bastante extensa de exemplos de socat
aqui, intitulada: Exemplos para usar socat (e filan)
.
Exemplo
$ socat - TCP:www.google.com:80 | head
GET /
HTTP/1.0 200 OK
Date: Tue, 26 Aug 2014 13:22:09 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=31cc21da7fe930ae:FF=0:TM=1409059329:LM=1409059329:S=w1SmnrWq9nT2Ear-; expires=Thu, 25-Aug-2016 13:22:09 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=PU8zfz-m-jwq17Jm2aixtDA1zi4H9JLpp6fXYAMS9V8xWpjBquGtng88Lf8wO-n8dUTjtneA2zon405GDYiqzsss_-HT44S5WgExWu7IrsEcqfBeguWB_oUEqlblJICL; expires=Wed, 25-Feb-2015 13:22:09 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
2014/08/26 09:22:09 socat[28871] E write(1, 0x7f1c063ad9b0, 1418): Broken pipe
O texto acima mostra como me conectar a um servidor da web em www.google.com na porta 80 e enviar a solicitação de GET /
. Esta é uma consulta padrão que seu navegador faria se estivesse fazendo a mesma coisa.
Quanto a forçar seu cliente a uma porta específica, isso deve ser possível, precisamos saber os detalhes de qual aplicativo é esse. Na maioria das vezes, os daemons de serviços incluem um switch cli, como -p 5000
, ou há uma linha em seus arquivos de configuração (se eles tiverem um) para fazer isso.
Eu daria uma olhada no uso dessa ferramenta em particular para determinar quais recursos ela fornece ou dê uma olhada na sua página de manual se ela tiver uma.