Netstat: melihat serangan dari netstat

From OnnoWiki
Revision as of 04:54, 10 June 2017 by Onnowpurbo (talk | contribs) (Created page with " sumber: https://www.cyberciti.biz/tips/netstat-command-tutorial-examples.html netstat command and shell pipe feature can be used to dig out more information about particul...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

sumber: https://www.cyberciti.biz/tips/netstat-command-tutorial-examples.html


netstat command and shell pipe feature can be used to dig out more information about particular IP address connection. You can find out total established connections, closing connection, SYN and FIN bits and much more. You can also display summary statistics for each protocol using netstat.

This is useful to find out if your server is under attack or not. You can also list abusive IP address using this method.

netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n

Output:

     1 CLOSE_WAIT
     1 established)
     1 Foreign
     3 FIN_WAIT1
     3 LAST_ACK
    13 ESTABLISHED
    17 LISTEN
   154 FIN_WAIT2
   327 TIME_WAIT

Dig out more information about a specific ip address:

netstat -nat |grep {IP-address} | awk '{print $6}' | sort | uniq -c | sort -n
     2 LAST_ACK
     2 LISTEN
     4 FIN_WAIT1
    14 ESTABLISHED
    91 TIME_WAIT
   130 FIN_WAIT2

Busy server can give out more information:

netstat -nat |grep 202.54.1.10 | awk '{print $6}' | sort | uniq -c | sort -n

Output:

 15 CLOSE_WAIT
 37 LAST_ACK
 64 FIN_WAIT_1
 65 FIN_WAIT_2

1251 TIME_WAIT 3597 SYN_SENT 5124 ESTABLISHED

Get List Of All Unique IP Address

To print list of all unique IP address connected to server, enter:

netstat -nat | awk '{ print $5}' | cut -d: -f1 | sed -e '/^$/d' | uniq

To print total of all unique IP address, enter:

netstat -nat | awk '{ print $5}' | cut -d: -f1 | sed -e '/^$/d' | uniq | wc -l

Output:

449

Find Out If Box is Under DoS Attack or Not

If you think your Linux box is under attack, print out a list of open connections on your box and sorts them by according to IP address, enter:

netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n

Output:

   1 10.0.77.52
     2 10.1.11.3
     4 12.109.42.21
     6 12.191.136.3

..... ... ....

   13 202.155.209.202
    18 208.67.222.222
    28 0.0.0.0
   233 127.0.0.1

You can simply block all abusive IPs using iptables or just null route them. Get Live View of TCP Connections

You can use tcptrack command to display the status of TCP connections that it sees on a given network interface. tcptrack monitors their state and displays information such as state, source/destination addresses and bandwidth usage in a sorted, updated list very much like the top command. Display Summary Statistics for Each Protocol

Simply use netstat -s:

netstat -s | less
netstat -t -s | less
netstat -u -s | less
netstat -w -s | less
netstat -s

Output:

Ip:

   88354557 total packets received
   0 forwarded
   0 incoming packets discarded
   88104061 incoming packets delivered
   96037391 requests sent out
   13 outgoing packets dropped
   66 fragments dropped after timeout
   295 reassemblies required
   106 packets reassembled ok
   66 packet reassembles failed
   34 fragments failed

Icmp:

   18108 ICMP messages received
   58 input ICMP message failed.
   ICMP input histogram:
       destination unreachable: 7173
       timeout in transit: 472
       redirects: 353
       echo requests: 10096
   28977 ICMP messages sent
   0 ICMP messages failed
   ICMP output histogram:
       destination unreachable: 18881
       echo replies: 10096

Tcp:

   1202226 active connections openings
   2706802 passive connection openings
   7394 failed connection attempts
   47018 connection resets received
   23 connections established
   87975383 segments received
   95235730 segments send out
   681174 segments retransmited
   2044 bad segments received.
   80805 resets sent

Udp:

   92689 packets received
   14611 packets to unknown port received.
   0 packet receive errors
   96755 packets sent

TcpExt:

   48452 invalid SYN cookies received
   7357 resets received for embryonic SYN_RECV sockets
   43 ICMP packets dropped because they were out-of-window
   5 ICMP packets dropped because socket was locked
   2672073 TCP sockets finished time wait in fast timer
   441 time wait sockets recycled by time stamp
   368562 delayed acks sent
   430 delayed acks further delayed because of locked socket
   Quick ack mode was activated 36127 times
   32318597 packets directly queued to recvmsg prequeue.
   741479256 packets directly received from backlog
   1502338990 packets directly received from prequeue
   18343750 packets header predicted
   10220683 packets header predicted and directly queued to user
   17516622 acknowledgments not containing data received
   36549771 predicted acknowledgments
   102672 times recovered from packet loss due to fast retransmit
   Detected reordering 1596 times using reno fast retransmit
   Detected reordering 1 times using time stamp
   8 congestion windows fully recovered
   32 congestion windows partially recovered using Hoe heuristic
   19 congestion windows recovered after partial ack
   0 TCP data loss events
   39951 timeouts after reno fast retransmit
   29653 timeouts in loss state
   197005 fast retransmits
   186937 retransmits in slow start
   131433 other TCP timeouts
   TCPRenoRecoveryFail: 20217
   147 times receiver scheduled too late for direct processing
   29010 connections reset due to unexpected data
   365 connections reset due to early user close
   6979 connections aborted due to timeout

Display Interface Table

You can easily display dropped and total transmitted packets with netstat for eth0:

netstat --interfaces eth0

Output:

Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0  2040929      0      0      0  3850539      0      0      0 BMRU

Other netstat related articles / tips:

   Get Information about All Running Services Remotely
   Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port

Read following man pages for the details:

man netstat
man cut
man awk
man sed
man grep

Updated for accuracy.


Referensi