No Linux, tente usar um namespace de rede, por exemplo:
sudo ip netns add namespace-name
sudo ip netns exec namespace-name executable
Isso deve impedir que o programa acesse a rede.
Eu gostaria de iniciar um programa desconectado da rede (porque imediatamente ao iniciá-lo, ele tenta baixar grandes quantidades de dados, o que pode ser evitado alterando as configurações assim que elas são instaladas). No entanto, eu realmente não quero realmente trazer a rede para baixo para este programa.
Existe algum LD_PRELOAD ou semelhante para dar ao programa a impressão de que a rede está inativa? Prefiro não criar uma máquina virtual.
@ A solução de namespace de rede do Ulrich é uma solução perfeita se você estiver em um Linux recente e tiver acesso de superusuário. Caso contrário, uma alternativa seria usar um wrapper SOCKS como dante
' socksify
ou tsocks
(observe que eles funcionam com LD_PRELOAD
).
Assim como com tsocks
, crie um tsocks.conf
com por exemplo:
path {
reaches = 0/0
server = 127.0.0.1
server_port = -1
server_type = 5
}
fallback = no
Ligue para sua inscrição com:
TSOCKS_CONF_FILE=/path/to/that/tsocks.conf tsocks your-application
Isso só funciona para conexões TCP e para IPv4. Por outro lado, isso significa que você pode especificar seletivamente quais endereços IP deseja permitir uma conexão.
Tags networking process