Sebagai seorang sysadmin pasti membutuhkan informasi siapa saja yang sedang mengakses server, apakah ada atau tidak ada user yang mengakses. Di bawah ini adalah perintah Linux untuk melihat semua alamat IP yang terhubung ke server pada port 80.
netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
Output - Jumlah koneksi oleh IP, dari tertinggi ke terendah.
97 114.198.236.100
56 67.166.157.194
44 170.248.43.76
38 141.0.9.20
37 49.248.0.2
37 153.100.131.12
31 223.62.169.73
30 65.248.100.253
29 203.112.82.128
29 182.19.66.187
Catatan
Perintah ini juga dapat berguna untuk mendeteksi jika server Anda sedang diserang
Penjelasan dari bagian-bagian perintah diatas 1. netstat -tn 2>/dev/null
Menggunakan
netstat untuk melihat semua koneksi jaringan, masuk dan keluar.
- -n Hanya menampilkan numerik saja, tidak melakukan resolve ke hostname
- -t Menampilkan hanya TCP connections
Output
tcp 0 0 64.91.*.*:80 114.198.236.100:12763 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51950 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51951 TIME_WAIT
tcp 0 0 64.91.*.*:23 202.127.210.2:14517 TIME_WAIT
tcp 0 0 64.91.*.*:80 149.238.193.121:65268 TIME_WAIT
tcp 0 0 64.91.*.*:80 114.198.236.100:44088 ESTABLISHED
tcp 0 0 64.91.*.*:80 175.136.226.244:51952 TIME_WAIT
2>/dev/null
Mengarahkan semua keluaran yang tidak diinginkan ke /dev/null, tempat khusus untuk menyerap semua output.
2. grep :80
Hanya menampilkan ip address yang terhubung ke server pada port 80
tcp 0 0 64.91.*.*:80 114.198.236.100:12763 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51950 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51951 TIME_WAIT
tcp 0 0 64.91.*.*:80 149.238.193.121:65268 TIME_WAIT
tcp 0 0 64.91.*.*:80 114.198.236.100:44088 ESTABLISHED
tcp 0 0 64.91.*.*:80 175.136.226.244:51952 TIME_WAIT
3. awk '{print $5}'
Hanya menampilkan 5 data koneksi saja
114.198.236.100:12763
175.136.226.244:51950
175.136.226.244:51951
149.238.193.121:65268
114.198.236.100:44088
4. cut -d: -f1
digunakan untuk meng-extract content
- -d Mendefinikan karakter pemisah dalam hal ini adalah tanda ":" (karakter yang mengikuti option -d). Default karakter adalah tab.
- -f Menentukan daftar bidang yang dipisah oleh karakter. dalam hal ini mengambil content 1 (pertama)
114.198.236.100
175.136.226.244
175.136.226.244
149.238.193.121
114.198.236.100
5. sort | uniq -c | sort -nr
sort digunakan untuk mengurutkan data
114.198.236.100
114.198.236.100
149.238.193.121
175.136.226.244
175.136.226.244
175.136.226.244
uniq -c digunakan untuk mengelompokkan (group by)
2 114.198.236.100
1 149.238.193.121
3 175.136.226.244
sort -nr digunakan untuk mengurutkan berdasarkan numerik dan secara reverse (besar ke kecil)
3 175.136.226.244
2 114.198.236.100
1 149.238.193.121
6. head
ini hanya optional saja karena hanya digunakan untuk menampilkan output sejumlah 10 data Semoga informasi ini dapat membantu