Usando netstat para verificar conexões e portas
Publicado por marcio mendes mendes (última atualização em 01/12/2015)
[ Hits: 7.836 ]
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();
Executando comandos remotos usando sshpass
script dapper para debootstrap
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (0)
O que você está ouvindo agora? [2] (180)