Verifique as portas abertas no FreeBSD

Verifique as portas abertas no FreeBSD
Neste tutorial, você aprenderá como verificar portas abertas no FreeBSD usando uma ferramenta útil da linha de comando chamada Sockstat.

Sockstat é um utilitário de linha de comando geral que vem incluído no FreeBSD. Ele vê imenso uso no exame de conexões de rede e soquetes abertos. No FreeBSD, ele lista os nomes e o status dos processos de fundo e primeiro plano que fizeram com que uma porta de rede desbloqueie. Você pode até personalizá -lo para organizar as listas de soquete de comunicação sobre o status da conexão, versões de IP, quais portas estão sendo ouvidas por programas específicos, etc., e simplificar os resultados com base na propriedade e descritores do soquete para os soquetes de comunicação. Com Sockstat, você também pode ver todos os detalhes complexos de cada um dos soquetes do Domínio UNIX/IPC. Um movimento adequado seria integrar Sockstat com o filtro Grep para triplicar sua funcionalidade e tirar o máximo proveito dele.

Vejamos algumas das coisas legais que podemos tirar com Sockstat no FreeBSD.

Liste as portas de trabalho no FreeBSD com Sockstat

O comando de Sockstat lista todos os soquetes atualmente abertos em um sistema FreeBSD. Digite o comando de Sockstat, não aplicado com qualquer uma das bandeiras ou opções para ver a lista de soquetes abertos:

$ sockstat

Vamos reservar um momento e repassar o que cada um dos rótulos da coluna na saída significa. A primeira coluna da esquerda é rotulada de usuários e lista todas as contas de usuário (raízes, mysql) às quais cada soquete pertence a. O cabeçalho da segunda coluna é comando e este cabeçalho de coluna lista todos os comandos que haviam definido cada soquete para abrir. A coluna PID e as colunas FD listam os IDs de processo e os descritores de arquivos, respectivamente, dos soquetes. O proto chefiado da coluna exibe todos os tipos de soquete protocolos de transporte vinculados a cada porta aberta. As duas últimas colunas são o endereço local e o endereço estrangeiro. O primeiro desses dois listas o endereço IP local para cada soquete aberto. Enquanto o último indica quais endereços IP estão ligados a cada um desses soquetes.

Liste versões específicas de portas abertas em FreeBSD

Para listar soquetes abertos apenas com uma versão específica do protocolo, por exemplo, a versão IPv4, adicione um sinalizador -4 ao final do comando Sockstat:

$ sockstat -4

Você também pode apresentar uma lista de outras versões de maneira semelhante, por exemplo

$ sockstat -6

Deve exibir todos os soquetes com IPv6.

Liste os soquetes abertos com base no TCP/UDP em FreeBSD

Adicione o sinalizador -p ao comando de Sockstat para ter a lista de soquetes abertos apresentados com base no TCP ou UDP. Você também precisará adicionar o nome do argumento do protocolo ao comando, que você pode procurar indo para o arquivo /etc /protocolos e verificando o arquivo lá. Para ter apenas soquetes baseados em TCP, digite o seguinte comando:

$ sockstat -p tcp

Da mesma forma, você pode ser uma lista restrita com base no UDP:

$ sockstat -p udp

Esses dois podem ser vinculados de maneira muito simples:

$ sockstat -p tcp, udp

Até o momento, a Sockstat não estende seu apoio ao protocolo ICMP.

Exibir soquetes com números de porta específicos

Para ver todos os soquetes abertos, TCP e UDP, ao mesmo tempo em que a lista é organizada com base nos números da porta (local e de outra forma), digite o comando Sockstat com sinalizadores apropriados:

$ sockstat -p tcp -p 443
$ sockstat -p udp -p 53
$ sockstat -p tcp -p 443,53,80,21

Nos comandos acima, o primeiro mostra a porta HTTPS TCP, a segunda das portas UDP DNS, enquanto o terceiro mostra ambos.

Veja as portas abertas sendo ouvidas no FreeBSD

Com a bandeira -l adicionada ao comando Sockstat, você receberá um soquete aberto que está ouvindo atualmente através da suíte do protocolo e todos os soquetes do Domínio UNIX aberto, bem como qualquer tubo nomeado.

$ sockstat -l

Liste as portas ouvindo ativamente na rede

Adicione os sinalizadores -l e -s ao comando de Sockstat para que as portas TCP abertas sejam organizadas por seu status de escuta.

$ sockstat -46 -l -s

O UDP não pode ser exibido como um protocolo que não seja da rede, sem manter dados sobre o status de escuta.

Organize portas abertas pelo aplicativo/comando usando -as

Aqui está a parte em que o comando de emparelhamento de soja com o utilitário Grep é útil; Com o utilitário Grep, você pode ter as portas abertas listadas pelos aplicativos atualmente no processo de usá -los.

O comando que você usaria para listar as portas abertas vinculadas particularmente com o servidor NTPD é:

$ sockstat -46 | Grep ntpd

Você pode tornar a listagem mais específica ao exibir apenas os soquetes conectados adicionando o sinalizador -c ao comando acima:

$ sockstat -46 -c | Grep ntpd

Exibir todos os soquetes Unix

Tem todos os soquetes do Domínio UNIX listados adicionando U- A sinalizador ao comando de Sockstat:

$ sockstat -u

Isso também deve exibir os tubos nomeados junto com os soquetes Unix.

Organizar portas abertas por protocolos conectados HTTPS

Para ter a lista exibida pelo protocolo HTTPS para cada soquete, use o comando abaixo:

$ SOCKSTAT -46 -S -P TCP -P 443 -C

Listar soquetes remotos http

Você também pode listar todos os soquetes remotos atualmente usando o protocolo HTTP. Execute um dos seguintes comandos no terminal:

$ sockstat -46 -c | Egrep '80 | 443 '| awk 'print $ 7' | uniq -c | classificar -nr
$ sockstat -46 -c -p 80.443 | Endereço Grep -v | Awk 'Print $ 7' |
uniq -c | classificar -nr

Encontre o número de vezes que um endereço IP enviou solicitações

Para descobrir quantas solicitações de conexão foram recebidas de cada endereço IP, você pode executar o seguinte comando:

$ sockstat -46 -c | Egrep '80 | 443 '| awk 'print $ 7' | corte -d: -f1 | uniq -c | classificar -n

Ao determinar se há um número incomumente alto de solicitações de conexão enviadas por um endereço IP, você pode identificar que há alguma intenção maliciosa e pode entrar positivamente no alerta amarelo e tomar os protocolos de segurança apropriados.

Envie uma consulta DNS do soquete TCP

Você pode enviar uma consulta DNS usando o soquete TCP no console, desde que a rede esteja livre de qualquer tráfego DNS. Execute o comando abaixo:

$ dig +tcp www.domínio.com @127.0.0.1

Empacotando

Então, você aprendeu muito sobre o uso do comando Sockstat e suas variações com bandeiras e interruptores. Você também viu como é usado de maneiras diferentes para apresentar o diagnóstico de rede em diferentes preferências e usar essas informações para realizar solucionamento de problemas multifacetados no FreeBSD. Isso é muito em si, mas agora que você está familiarizado com essas coisas, considere incorporar a linha de comando de Sockstat com algumas ferramentas poderosas da linha de comando, como NetStat e ISOF.