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.