como identificar sockets clientes para servidores remotos abertos durante a execução do programa

0

Eu tenho um determinado processo de criação e quero garantir que nenhum sistema externo seja acessado durante essa compilação, para que eu possa ter certeza de que não estou confiando em nada externo à minha organização. Em vez de derrubar a interface, há alguma ferramenta de monitoramento que eu possa usar para ver quais soquetes de cliente um determinado processo está abrindo?

Eu pensei em usar strace e grepping para recvfrom . Na verdade eu não vejo nada lá. Isso seria suficiente para provar o ponto? Existe alguma maneira melhor?

    
por Marcus Junius Brutus 31.08.2018 / 22:24

2 respostas

0

Você pode usar namespaces para isolar o processo de criação da rede. O comando unshare pode ser usado para fazer isso de forma simples. No entanto, isso também impedirá que o processo de compilação se conecte ao host local via TCP / IP. Permitir que o processo de compilação somente conecte-se ao localhost seja um pouco mais complicado, detalhado aqui .

Observe que todos os itens acima exigirão acesso root. Se você quiser que o processo de compilação seja executado como um usuário normal, você pode fazer com que o comando a ser executado no namespace seja su build-user -c build-command .

    
por 31.08.2018 / 22:58
0

Acabei fazendo o seguinte:

strace -s 1000 -e trace=network build-command
    
por 01.09.2018 / 00:17

Tags