Como monitorar sua máquina de Linux com netstat

por Sukrit Dhandhania em Janeiro 19, 2009

Linux Segurança

Netstat é uma linha de comando extremamente útil ferramenta de Linux que permita que você verifique que serviço está conectando a um porto em sua máquina. É muito útil analisar o que está indo sobre em sua máquina quando você é revestimentos ou está tentando impedir um ataque nele. Você pode encontrar a informação tal como quanto a conexão está sendo feita em um porto, de que o IP se dirija a estas conexões origine, e muito mais. Os navios de Netstat com a maioria de distribuições de Linux assim que dele devem já ser instalados em seu.

Lance um terminal do escudo em sua máquina e funcione o seguinte comando:

# netstat - formiga
Conexões ativas do Internet (usuários e estabelecido)
Proto Recv-Q Emite-q o endereço local Endereço extrangeiro Estado
tcp 0 0:: ffff: 192.168.1.19: 80 :: ffff: 192.168.1.240: 63049 TIME_WAIT
tcp 0 0:: ffff: 192.168.0.19: 80 :: ffff: 192.168.1.240: 62793 TIME_WAIT
tcp 0 0:: ffff: 192.168.1.19: 80 :: ffff: 192.168.1.240: 62795 TIME_WAIT

A saída será muito provável muito por muito tempo. Eu dei apenas um instantâneo da saída acima. Como você pode ver nos dados acima há uma conexão feita de 192.168.1.240 ao porto 80 do meu usuário usando o protocolo do TCP e a conexão em um estado de TIME_WAIT. A saída pôs que você começa para seu usuário terá a informação sobre todos os portos em sua máquina, porto nao justo 80.

A primeira coisa que você realiza é que uma saída este grande não é de demasiado uso. Assim vamos organizá-lo um bocado. Estão aqui alguns truques que eu me uso analisar a natureza das conexões que estão sendo feitas de meu usuário. a primeira coisa que eu é a figura para fora que os serviços mim querem analisar. Geralmente é o porto 80 como aquele é o porto do defeito para que o web server funcione sobre, e move 3306 que é o porto do defeito para que MySQL funcione sobre. Assim eu uso a seguinte pergunta ver o que está indo sobre no porto 80:

# netstat - formiga | grep 80

Outra vez eu começo a lista grande das conexões, menor do que a primeira, mas demasiado grande agarrar ainda. Assim eu uso o “wc - l” comando contar o número de linhas na saída para ver aproximadamente quantas conexões eu tenho em meu porto 80:

# netstat - formiga | grep 80 | wc - l
625

E então eu faço o mesmo para MySQL:

# netstat - formiga | grep 3306 | wc - l
61

Now, if I want to get a complete picture of what’s going on on my server in terms of the nature of connections here’s what I do:

# netstat -ant | awk ‘{print $6}’ | sort | uniq -c | sort -n

1 established)
1 Foreign
4 FIN_WAIT2
8 LISTEN
16 CLOSE_WAIT
134 ESTABLISHED
409 TIME_WAIT

This tells me how many connections of different types of state I have on my machine. I can run a similar command to see a complete picture of the state of all the connections made to my web server:

netstat -ant | grep 80 | awk ‘{print $6}’ | sort | uniq -c | sort -n

1 FIN_WAIT1
4 LISTEN
6 FIN_WAIT2
17 CLOSE_WAIT
94 ESTABLISHED
534 TIME_WAIT

You can perform a lot more complex things using Netstat along with other Linux command line tools. It can be helpful to be familiar with some tricks to get this kind of information using Netstat, particularly when you are facing an attack on your server.

Related Posts:
  • How to monitor your Internet bandwidth usage in Windows
  • How to monitor your Mac laptop’s battery health
  • How to use dstat to monitor your Linux/UNIX server
  • How to set the date on your Linux machine
  • How to monitor your Internet bandwidth usage in OS X
  • Get Simple Help tutorials just like this one in your email inbox every day - for free! Just enter your email address below:

    You can always opt out of this email subscription at any time.


    Bookmark and Share

    { 0 comments… add one now }

    Leave a Comment

    You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>