Networking  
 
Rede de conhecimento computador >> Networking >> Voice Over IP >> Content
Script Shell para gerar isso escuta uma porta pela Internet?
Somente um script de shell simples não pode ouvir em uma porta pela Internet. Scripts de shell são para controlar a execução de comandos; Eles não têm os recursos de rede embutidos para lidar com conexões de entrada. Você precisa de um programa de servidor de rede (como `netcat`,` socat` ou um servidor da web dedicado como Apache ou Nginx) para isso. O script do shell será apenas * iniciar * e talvez * gerenciar * o processo do servidor.

Aqui estão alguns exemplos, cada um com importantes considerações de segurança:

Exemplo 1:Usando o netcat (altamente inseguro para uso da produção)

Este exemplo usa o `netcat` para ouvir em uma porta. Não use isso em um ambiente de produção sem melhorias significativas de segurança. O NetCat oferece segurança mínima e é facilmente vulnerável a ataques.

`` `BASH
#!/bin/bash

porta =8080

eco "ouvindo no port $ port ..."
NC -LVP $ PORT
`` `

* `nc -lvp $ port` :Este é o comando principal.
* `-l`:Ouça as conexões recebidas.
* `-v`:modo detalhado (mostra detalhes da conexão).
* `-P $ PORT`:Especifica o número da porta.

para tornar isso um pouco mais seguro (mas ainda não pronto para produção): Você pode adicionar uma regra de firewall para permitir apenas conexões de endereços IP específicos. No entanto, mesmo isso é inadequado para uma solução robusta.

Exemplo 2:Usando o SOCAT (um pouco melhor, mas ainda precisa de mais segurança)

`Socat` é um utilitário de linha de comando mais versátil do que` netcat`, permitindo mais opções de configuração. Novamente, não é adequado para produção sem aprimoramentos significativos de segurança.

`` `BASH
#!/bin/bash

porta =8080

eco "ouvindo no port $ port ..."
SOCAT TCP-Listen:$ Port, Fork Exec:'Echo "Conexão recebida!"'
`` `

* `SOCAT TCP-LISTEN:$ PORT, FILHE EXEC:'ECHO" Conexão recebida! "'`:Isso ouve na porta especificada e os gargilizam um novo processo para cada conexão. A conexão `exec:'echo" recebida! "' Parte é um comando simples executado para cada conexão. Substitua isso pelo manuseio de comando desejado.


Considerações importantes de segurança:

* firewall: Você deve configurar seu firewall (por exemplo, `iptables 'no Linux) para permitir apenas conexões com a porta especificada de endereços ou redes IP confiáveis. Caso contrário, seu servidor estará aberto a ataques de qualquer pessoa na Internet.
* Autenticação e autorização: Esses exemplos não têm autenticação ou autorização. Qualquer um pode se conectar. Para qualquer coisa além dos testes simples, você precisa de mecanismos de autenticação adequados (por exemplo, proteção de senha, criptografia SSL/TLS).
* Validação de entrada: Se o seu servidor processar qualquer entrada dos clientes, você deverá validá -lo minuciosamente para evitar ataques de injeção (como injeção de comando ou injeção de SQL).
* Manuseio de erro: Os scripts não têm um manuseio robusto de erros. Os scripts prontos para a produção precisam lidar com erros graciosamente.
* Gerenciamento de processos: Considere usar um supervisor de processo (como SystemD ou Supervisord) para gerenciar o processo do servidor e verifique se ele reiniciará automaticamente se travar.

Para ambientes de produção: Use um servidor da Web robusto, como Apache ou Nginx, com configurações de segurança apropriadas (SSL/TLS, autenticação, firewalls, validação de entrada, etc.). Esses servidores são projetados para operação segura e confiável. Esses exemplos são apenas para fins educacionais e não devem ser usados ​​na produção sem melhorias significativas em sua segurança.

Anterior :

Próximo :
  Os artigos relacionados
·Como configurar Grandstream 
·Como conectar um telefone Internet 
·Quem inventou o reconhecimento de fala? 
·O Efeito da Packetization no Desempenho VoIP 
·Como você verifica seu correio de voz sem fio correr? 
·DIY adaptador de telefone VoIP 
·Como usar o VoIP para uma pequena empresa 
·Como fazer telefonemas gratuitos em um Mac 
·Descrições de VoIP Jobs 
·Alternativas a uma segunda linha telefônica 
  Artigos em destaque
·Como obter alta velocidade à Internet barato 
·Qual sistema operacional tem mais segurança? 
·Como encontrar a chave de segurança ou frase 
·Como configurar BT Broadband 
·Quais são alguns dos serviços prestados pela QWEST In…
·Como posso Adicionar uma conexão sem fio para o meu co…
·Adaptativos Protocolos de Roteamento 
·Qual é a diferença entre ATM e Ethernet? 
·Como ativar o Bluetooth em um HP Mini 
·Interior Gateway Protocols 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados