De vez em quando, alguém faz a seguinte pergunta: “Adicionamos a porta do nosso aplicativo ao arquivo de serviços e agora outro aplicativo está usando-a – por quê?”. A resposta é porque o arquivo de serviços não reserva números de porta. O arquivo de serviços existe para que os aplicativos possam chamar a função getservbyname para encontrar o número da porta associado a um serviço ou chamar a função getservbyport para encontrar o nome de um serviço associado a um número de porta. Não há nada que impeça que dois serviços diferentes sejam mapeados para o mesmo número de porta, embora a função getservbyport retorne apenas o primeiro. Também não há exigência de que um aplicativo chame getservbyname para descobrir qual porta deve usar. Um desenvolvedor de aplicativos pode simplesmente codificar um número de porta ou permitir que ele seja inserido como um parâmetro.
- Execute o comando
“netstat -numeric -all_sockets -PCB_addr”e identificar o intruso, neste caso, o número da porta que me interessa é 13592.
netstat -numeric -all_sockets -PCB_addrActive connections (including servers)PCB Proto Recv-Q Send-Q Local Address Foreign Address(state). . . 8e3aa300 tcp 0 0 *:13592 *:* LISTEN. . .ready 13:50:12- Execute o comando
“analyze_system -request_line 'match dv; dump_onetcb 8e3aa300' -quit”
OpenVOS Release 17.0.1aj, analyze_system Release 17.0.1ajCurrent process is 664, ptep 8E0EE800, Noah_Davids.CAC sth_dvtx = 121 (stcp.m16_202)- Execute o comando
“who_locked #stcp.m16_202”para determinar qual processo está usando o dispositivo.
stcp.m16_202: Object is write locked by Barney_Rubble.Dev (login) on module%vs#m1 executing stcp_calls.pm.
