Usando netstat para verificar conexões e portas
Publicado por marcio mendes mendes (última atualização em 01/12/2015)
[ Hits: 7.479 ]
Homepage: https://www.conectadohost.com
Olá, esse script foi desenvolvido para verificar quantas conexões há em seu servidor, mostrando o ip, total de conexões, porta e total de conexões por portas.
O saída do script é similar a:
[+] Número de Conexões por IP:
21 127.0.0.1
12 192.168.1.1
6 192.168.1.2
2 192.168.1.3
1 192.168.1.4
1 192.168.1.5
1 192.168.1.6
1 192.168.1.7
1 192.168.1.8
[+] Número de Conexões por porta:
22 80
15 110
4 3306
1 39806
1 39809
1 39813
1 39815
1 39828
1 39799
1 39803
1 59635
[+] TOTAL: 63
Para executar digite:
$ conexao.sh
Obs.: os IPs 192.168.1.1, 192.168.1.2 etc são apenas um exemplo. Quando executar o script ele vai mostra os IPs reais que estão conectados ao seu servidor.
#!/usr/bin/perl # attackers 2, with ipv6 support. # output connection information from netstat # use strict; sub run { my @netstat = `netstat -pant`; my $portcheck = $ARGV[0]; if ( $portcheck =~ /^[0-9]+$/ ) { my %ports; my %ips; foreach (@netstat) { my ($port, $ip); if ( /^tcp\s+\d\s+\d\s+[0-9\.|0-9A-Za-z\.:]+:${portcheck}\s+([0-9\.|0-9A-Za-z\.:]+):/ ) { chomp; $ip = $1; if ( $ip !~ /^::$/ ) { $ips{$ip}++; } } } my $count; print "[+] Highest connections on port $portcheck\n"; foreach my $number ( sort {$ips{$b} <=> $ips{$a}} keys %ips ) { if ( $count <= 10 ) { if ($number) { print "\t$ips{$number} $number\n"; $count++; } } } my $total; foreach my $key ( keys %ips ) { if ($key) { $total += $ips{$key}; } } print "\n[+] TOTAL: $total\n"; } else { my %ports; my %ips; foreach (@netstat) { my ($port, $ip); if ( /^tcp\s+\d\s+\d\s+[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:([0-9]+)\s+([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}):[0-9]+\s+/ ) { chomp; $port = $1; $ip = $2; } elsif ( /^tcp\s+\d\s+\d\s+[0-9\.|0-9A-Za-z\.:]+:([0-9]+)\s+([0-9\.|0-9A-Za-z\.:]+):[0-9]+\s+/ ) { chomp; $port = $1; $ip = $2; } $ports{$port}++; $ips{$ip}++; } my $count; print "[+] Número de Conexões por IP:\n"; foreach my $number ( sort {$ips{$b} <=> $ips{$a}} keys %ips ) { if ( $count <= 10 ) { if ($number) { print "\t$ips{$number} $number\n"; $count++; } } } $count = 0; print "\n[+] Número de Conexões por porta:\n"; foreach my $number ( sort {$ports{$b} <=> $ports{$a}} keys %ports ) { if ( $count <= 10 ) { if ($number) { print "\t$ports{$number} $number\n"; $count++; } } } my $total; foreach my $key ( keys %ports ) { if ($key) { $total += $ports{$key}; } } print "\n[+] TOTAL: $total\n"; } } run();
Backup com data no nome do arquivo
SSSR - configure Samba no Damn Small Linux e DSL-N
Pesquisa Binária usando Bash-Shell
Script para rodar software Mr Bayes em paralelo
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
Encriptografa... as particoes com LUKS, o que poderia dar errado? (0)
Qual a relevancia dos valores de bogomips com os Mhz e Ghz[DUVIDA] (2)