Netstat (network statistics) adalah program berbasis teks yang berfungsi untuk memantau koneksi jaringan pada suatu komputer, baik itu jaringan lokal (LAN) maupun jaringan internet.
Kapan saya membutuhkan netstat? misalkan suatu ketika anda sedang internetan kemudian tiba tiba koneksi menjadi sangat lambat dan anda mencurigai ada program di komputer anda yang jadi penyebabnya.
Jika hal itu yang anda alami maka anda perlu memanggil program netstat untuk melakukan pengecekan.
Cara menggunakan netstat di windows
Untuk memanggil netstat pertama buka dulu command prompt di windows, caranya klik Start> All Programs> Accessories> Command Prompt atau Start> Run> ketik cmd lalu Ok.
Sekarang pada command prompt ketikan netstat (tekan enter) maka akan ditampilkan koneksi jaringan yang sedang berlangsung pada saat itu.
Sebagai contoh berikut ini adalah koneksi jaringan di komputer saya
Active Connections
Proto  Local Address          Foreign Address        State
TCP    fatality:1772          cg-in-f100.google.com:http  ESTABLISHED
TCP    fatality:1773          74.125.153.99:http     ESTABLISHED
TCP    fatality:1774          74.125.153
Te
.103:http    ESTABLISHED
TCP    fatality:1775          74.125.153.113:http    ESTABLISHED
TCP    fatality:1042          localhost:25377        ESTABLISHED
TCP    fatality:1043          localhost:1044         ESTABLISHED
TCP    fatality:1044          localhost:1043         ESTABLISHED
TCP    fatality:1046          localhost:1047         ESTABLISHED
TCP    fatality:1047          localhost:1046         ESTABLISHED
TCP    fatality:25377         localhost:1042         ESTABLISHED
Berikut ini keterangan dari output netstat diatas :
  1. Proto. Kolom proto menunjukan jenis protokol yang dipakai bisa TCP atau UDP.
  2. Local Address. Kolom ini menjelaskan alamat dan nomor port yang ada di komputer anda yang mana saat itu sedang aktif melakukan koneksi. Contoh diatas fatality adalah nama host dari komputer saya dan 1772 adalah nomor port di komputer saya yang sedang melakukan koneksi.
  3. Foreign Address. Kolom ini menunjukan koneksi yang dituju oleh local address beserta nomor portnya. Contoh diatas saya sedang menghubungi server google melalui http (port 80) yang artinya saya sedang browsing google.
  4. State. Kolom ini menunjukan status dari koneksi yang sedang terjadi. ESTABLISED artinya sudah terhubung dengan komputer lain dan siap mengirimkan data.
State yang mungkin terjadi :
  1. LISTENING -> siap untuk melakukan koneksi
  2. SYN_SENT -> mengirimkan paket SYN
  3. SYN_RECEIVED -> menerima paket SYN
  4. ESTABLISHED -> koneksi terjadi dan siap mengirimkan data
  5. TIME_WAIT -> sedang menunggu koneksi
Masih ada state TCP yang lain seperti FIN_WAIT_1, FIN_WAIT_2, CLOSE_WAIT, LAST_ACK dll untuk lebih jelasnya anda bisa baca buku yang membahas tentang TCP/IP
Yang perlu diperhatikan jika muncul state SYN_SENT dalam jumlah yang banyak dan terus menerus, efeknya koneksi internet anda menjadi sangat lambat.
Hal ini bisa disebabkan karena pada komputer anda terdapat malware entah itu virus, trojan atau worm yang berusaha melakukan koneksi ke internet.
Berikut ini parameter lain yang bisa anda gunakan untuk perintah netstat.
  1. netstat -a , menampilkan semua koneksi baik yang listening maupun yang tidak
  2. netstat -e, menampilkan statistik paket yang dikirim dan yang diterima
  3. netstat -n, menampilkan alamat dan port dalam bentuk numerik
  4. netstat -o, menampilkan PID (Process ID) untuk setiap koneksi
  5. netstat -s, menampilkan statistik per protokol
  6. netstat -r, menampilkan routing table
  7. netstat -p protokol, menampilkan statistik berdasarkan protokol tertentu
Dengan netstat anda juga bisa menampilkan program mana saja (*.exe) yang sedang aktif melakukan koneksi ke internet, berikut ini perintahnya
netstat -b 5
perintah diatas akan ditampilkan setiap 5 detik, untuk mengakhirinya tekan CTRL+C. Bagi anda yang senang dengan catatan atau log, anda juga bisa memberi perintah kepada netstat untuk mencatat statistik koneksi ke dalam file teks. Berikut ini perintahnya :
netstat -b 5 > c:/koneksi.txt
Perintah diatas akan mencatat statistik ke file koneksi.txt setiap 5 detik.
Cara menggunakan netstat di linux
Menjalankan program netstat di linux kurang lebih sama seperti di windows, hanya saja ada beberapa parameter yang berbeda.
Berikut ini beberapa parameter untuk perintah netstat di linux
  1. netstat -a , menampilkan semua koneksi baik yang listening maupun yang tidak
  2. netstat -l , menampilkan semua koneksi yang listening saja
  3. netstat -s , menampilkan statistik per protokol
  4. netstat -n , menampilkan dalam bentuk numerik
  5. netstat -o , menampilkan timer
  6. netstat -g , menampilkan berdasarkan group membership
  7. netstat -i , menampilkan tabel network interface
  8. netstat -I<interface> , menampilkan network interface tertentu misal netstat -Ieth0
  9. netstat -p , menampilkan PID atau program yang sedang melakukan koneksi
  10. netstat -M, menampilkan IP masquerade
Untuk lebih jelasnya anda bisa melihat manual dari program netstat ini dengan cara mengetikan perintah :
man netstat
Perlu diingat linux bersifat case-sensitive artinya huruf besar dan huruf kecil dianggap berbeda. Jadi perintah netstat -n dengan netstat -N itu berbeda.
contohnya :
1. Menampilkan semua port yang sedang terbuka, baik itu both listening dan non listening ports
menampilkan semua port yang terbuka dengan netstat -a
root@smasa:~# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:3128                  *:*                     LISTEN
tcp        0      0 localhost:953           *:*                     LISTEN
tcp        0      0 *:221                   *:*                     LISTEN
tcp        0      0 localhost:mysql         *:*                     LISTEN
tcp        0      0 *:http-alt              *:*                     LISTEN
tcp        0      0 smasa:domain            *:*                     LISTEN
tcp        0      0 192.168.1.2:domain      *:*                     LISTEN
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp        0      0 smasa:3128              192.168.0.121:2719      ESTABLISHED
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     5634     /var/run/clamav/clamd.ctl
unix  2      [ ACC ]     STREAM     LISTENING     4868     /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     3114     @/com/ubuntu/upstart
unix  2      [ ]         DGRAM                    3172     @/org/kernel/udev/ude
Menampilkan semua TCP port yang terbuka dengan netstat -at
root@smasa:~# netstat -at

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 *:3128                  *:*                     LISTEN

tcp        0      0 localhost:953           *:*                     LISTEN

tcp        0      0 *:221                   *:*                     LISTEN

tcp        0      0 localhost:mysql         *:*                     LISTEN

tcp        0      0 *:http-alt              *:*                     LISTEN

tcp        0      0 smasa:domain            *:*                     LISTEN

tcp        0      0 192.168.1.2:domain      *:*                     LISTEN

tcp        0      0 localhost:domain        *:*                     LISTEN

tcp        0      0 localhost:41033         localhost:http-alt      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2719      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2722      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.138:1600      TIME_WAIT

tcp        0      0 localhost:http-alt      localhost:45605         TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.138:1621      TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.138:1609      TIME_WAIT

tcp        0      0 192.168.1.2:54349       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 192.168.1.2:52098       58.27.22.64:www         TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.138:1605      TIME_WAIT

tcp        0      0 192.168.1.2:40230       upload-03-07-snc1.f:www TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.121:2730      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.138:1602      TIME_WAIT

tcp        0      0 192.168.1.2:36686       www-11-03-ash2.face:www TIME_WAIT

tcp        0      0 localhost:http-alt      localhost:34051         TIME_WAIT

tcp        0      0 192.168.1.2:54348       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 192.168.1.2:47032       upload-01-01-snc4.f:www ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2716      ESTABLISHED

tcp        0      0 192.168.1.2:54351       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 192.168.1.2:49172       www-11-03-ash2.face:www ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2709      ESTABLISHED

tcp        0      0 smasa:221               192.168.0.138:1624      ESTABLISHED

tcp        0      0 192.168.1.2:54353       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.138:1620      TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.121:2737      ESTABLISHED

tcp        0      0 localhost:http-alt      localhost:56517         TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.121:2711      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2728      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.138:1592      TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.121:2718      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2723      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2731      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2732      ESTABLISHED

tcp        0      0 192.168.1.2:54983       58.27.22.90:www         TIME_WAIT

tcp        0      0 localhost:http-alt      localhost:47076         TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.138:1603      TIME_WAIT

tcp        0      0 192.168.1.2:47471       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 192.168.1.2:53474       www-11-03-ash2.face:www ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2715      ESTABLISHED

tcp        0      0 192.168.1.2:54357       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 localhost:http-alt      localhost:54496         TIME_WAIT

tcp        0      0 localhost:http-alt      localhost:41033         ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2727      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2729      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.138:1604      TIME_WAIT

tcp        0      0 192.168.1.2:54352       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 192.168.1.2:32774       58.27.22.51:www         TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.121:2734      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2720      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2717      ESTABLISHED

tcp        0      0 192.168.1.2:54354       www-12-02.snc5.face:www TIME_WAIT

tcp        0      0 smasa:3128              192.168.0.121:2736      ESTABLISHED

tcp        0      0 smasa:3128              192.168.0.121:2735      ESTABLISHED

tcp6       0      0 localhost:953           [::]:*                  LISTEN

tcp6       0      0 [::]:221                [::]:*                  LISTEN

tcp6       0      0 [::]:www                [::]:*                  LISTEN

tcp6       0      0 [::]:domain             [::]:*                  LISTEN
Menampilkan semua UDP port yang terbuka dengan netstat -au
root@smasa:~# netstat -au

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

udp        0      0 *:37259                 *:*

udp        0      0 smasa:domain            *:*

udp        0      0 192.168.1.2:domain      *:*

udp        0      0 localhost:domain        *:*

udp        0      0 *:icpv2                 *:*

udp        0      0 *:bootps                *:*

udp        0      0 *:3401                  *:*

udp6       0      0 [::]:domain             [::]:*
2. Menampilkan socket yang terbuka dan sedang aktif
Menampilkan port yang aktif atau listening saja dengan netstat -l
root@smasa:~# netstat -l

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 *:3128                  *:*                     LISTEN

tcp        0      0 localhost:953           *:*                     LISTEN

tcp        0      0 *:221                   *:*                     LISTEN

tcp        0      0 localhost:mysql         *:*                     LISTEN

tcp        0      0 *:http-alt              *:*                     LISTEN

tcp        0      0 smasa:domain            *:*                     LISTEN

tcp        0      0 192.168.1.2:domain      *:*                     LISTEN

tcp        0      0 localhost:domain        *:*                     LISTEN

tcp6       0      0 localhost:953           [::]:*                  LISTEN

tcp6       0      0 [::]:221                [::]:*                  LISTEN

tcp6       0      0 [::]:www                [::]:*                  LISTEN

tcp6       0      0 [::]:domain             [::]:*                  LISTEN

udp        0      0 *:37259                 *:*

udp        0      0 smasa:domain            *:*

udp        0      0 192.168.1.2:domain      *:*

udp        0      0 localhost:domain        *:*

udp        0      0 *:icpv2                 *:*

udp        0      0 *:bootps                *:*

udp        0      0 *:3401                  *:*

udp6       0      0 [::]:domain             [::]:*

raw        0      0 *:icmp                  *:*                     7

Active UNIX domain sockets (only servers)

Proto RefCnt Flags       Type       State         I-Node   Path

unix  2      [ ACC ]     STREAM     LISTENING     5634     /var/run/clamav/clamd.ctl

unix  2      [ ACC ]     STREAM     LISTENING     4868     /var/run/mysqld/mysqld.sock

unix  2      [ ACC ]     STREAM     LISTENING     3114     @/com/ubuntu/upstart
Jika hanya ingin menampilkan port TCP yang aktif gunakan perintah netstat -lt
root@smasa:~# netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:3128                  *:*                     LISTEN
tcp        0      0 localhost:953           *:*                     LISTEN
tcp        0      0 *:221                   *:*                     LISTEN
tcp        0      0 localhost:mysql         *:*                     LISTEN
tcp        0      0 *:http-alt              *:*                     LISTEN
tcp        0      0 smasa:domain            *:*                     LISTEN
tcp        0      0 192.168.1.2:domain      *:*                     LISTEN
tcp        0      0 localhost:domain        *:*                     LISTEN
tcp6       0      0 localhost:953           [::]:*                  LISTEN
tcp6       0      0 [::]:221                [::]:*                  LISTEN
tcp6       0      0 [::]:www                [::]:*                  LISTEN
tcp6       0      0 [::]:domain             [::]:*                  LISTEN
Jika hanya ingin menampilkan port UDP yang aktif gunakan perintah netstat -lu
root@smasa:~# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 *:37259                 *:*
udp        0      0 smasa:domain            *:*
udp        0      0 192.168.1.2:domain      *:*
udp        0      0 localhost:domain        *:*
udp        0      0 *:icpv2                 *:*
udp        0      0 *:bootps                *:*
udp        0      0 *:3401                  *:*
udp6       0      0 [::]:domain             [::]:*
Jika hanya ingin menampilkan UNIX port yang aktif gunakan perintah netstat -lx
root@smasa:~# netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     5634     /var/run/clamav/clamd.ctl
unix  2      [ ACC ]     STREAM     LISTENING     4868     /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     3114     @/com/ubuntu/upstart
3. Menampilkan Statistik Protokol yang digunakan
Gunakan netstat -s untuk menampilkan statistik protokol yang digunakan
root@smasa:~# netstat -s
Ip:
1889032 total packets received
48069 forwarded
0 incoming packets discarded
1840963 incoming packets delivered
2102145 requests sent out
Icmp:
742 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
destination unreachable: 734
echo requests: 7
echo replies: 1
2331 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 2301
echo request: 23
echo replies: 7
IcmpMsg:
InType0: 1
InType3: 734
InType8: 7
OutType0: 7
OutType3: 2301
OutType8: 23
Tcp:
69140 active connections openings
41775 passive connection openings
8 failed connection attempts
9199 connection resets received
1 connections estalished
1736445 segments received
1897301 segments send out
59257 segments retransmited
10 bad segments received.
10055 resets sent
Udp:
94756 packets received
2207 packets to unknown port received.
0 packet receive errors
95187 packets sent
UdpLite:
TcpExt:
2 invalid SYN cookies received
6 resets received for embryonic SYN_RECV sockets
59014 TCP sockets finished time wait in fast timer
740 time wait sockets recycled by time stamp
44 packets rejects in established connections because of timestamp
40769 delayed acks sent
2 delayed acks further delayed because of locked socket
Quick ack mode was activated 12326 times
798 times the listen queue of a socket overflowed
798 SYNs to LISTEN sockets dropped
5 packets directly queued to recvmsg prequeue.
11143 bytes directly in process context from backlog
9 bytes directly received in process context from prequeue
377195 packet headers predicted
9 packets header predicted and directly queued to user
345661 acknowledgments not containing data payload received
332325 predicted acknowledgments
17 times recovered from packet loss due to fast retransmit
12 times recovered from packet loss by selective acknowledgements
1 congestion windows recovered without slow start by DSACK
3932 congestion windows recovered without slow start after partial ack
116 TCP data loss events
TCPLostRetransmit: 7
2 timeouts after reno fast retransmit
24 timeouts after SACK recovery
76 timeouts in loss state
59 fast retransmits
4 forward retransmits
1210 retransmits in slow start
16596 other TCP timeouts
3 classic Reno fast retransmits failed
12147 DSACKs sent for old packets
419 DSACKs sent for out of order packets
278 DSACKs received
329 connections reset due to unexpected data
24 connections reset due to early user close
7137 connections aborted due to timeout
TCPDSACKIgnoredOld: 136
TCPDSACKIgnoredNoUndo: 20
TCPSackShiftFallback: 919
IpExt:
InBcastPkts: 6921
InOctets: 1299402395
OutOctets: 1443173077
InBcastOctets: 640866
Catatan: jika ingin menampilkan statistik protokol TCP saja gunakan netstat -st, jika protokol UDP saja netstat -su
4. Menampilkan PID dan nama program
Gunakan perintah netstat -pt
root@smasa:~# netstat -pt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:35627         localhost:http-alt      ESTABLISHED 1688/(squid)
tcp        0      0 192.168.1.2:40176       sin01s04-in-f104.1e:www TIME_WAIT   -
tcp        0      0 smasa:221               192.168.0.138:1624      ESTABLISHED 4999/0
tcp        0      0 192.168.1.2:49304       www-10-01-ash2.face:www ESTABLISHED 27357/havp
tcp        0      0 localhost:http-alt      localhost:35627         ESTABLISHED 27357/havp
tcp        0      0 smasa:3128              192.168.0.129:2211      ESTABLISHED 1688/(squid)
tcp        0      0 smasa:3128              192.168.0.129:2210      ESTABLISHED 1688/(squid)
5. Menampilkan informasi kernel routing pada jaringan kita
Gunakan perintah netstat -r untuk menampilkan informasi kernel routing
root@smasa:~# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
192.168.0.0     *               255.255.255.0   U         0 0          0 eth1
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
6. Menemukan port yang sedang digunakan oleh program tertentu
Misalkan saya ingin menampilkan port yang sedang digunakan oleh SSH, maka perintahnya adalah
root@smasa:~# netstat -ap | grep ssh
tcp        0      0 *:221                   *:*                     LISTEN      1034/sshd
tcp6       0      0 [::]:221                [::]:*                  LISTEN      1034/sshd
7. Menampilkan informasi dari interface yang kita gunakan
contoh ;
root@smasa:~# netstat -i
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    665297      0      0 0        822533      0      0      0 BMRU
eth1       1500 0    530249      0      0 0        808259      0      0      0 BMRU
lo        16436 0    707965      0      0 0        707965      0      0      0 LRU
root@smasa:~# netstat -ie
Kernel Interface table
eth0      Link encap:Ethernet  HWaddr 00:27:0e:07:b9:15
inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::227:eff:fe07:b915/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:665297 errors:0 dropped:0 overruns:0 frame:0
TX packets:822533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:652127492 (652.1 MB)  TX bytes:126842677 (126.8 MB)
Interrupt:27 Base address:0xc000
eth1      Link encap:Ethernet  HWaddr 00:21:91:17:52:ad
inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
inet6 addr: fe80::221:91ff:fe17:52ad/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:530255 errors:0 dropped:0 overruns:0 frame:0
TX packets:808265 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:105062029 (105.0 MB)  TX bytes:790343199 (790.3 MB)
Interrupt:16 Base address:0xd000
lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:707995 errors:0 dropped:0 overruns:0 frame:0
TX packets:707995 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:561299423 (561.2 MB)  TX bytes:561299423 (561.2 MB)