GNU/Linux >> Belajar Linux >  >> Linux

17 Perintah Jaringan dan Pemecahan Masalah Linux Terbaik untuk Pemula

Konfigurasi jaringan, diagnostik, dan pemecahan masalah Linux umum adalah bagian penting dari administrasi Sistem. Bahkan untuk pengembang yang bekerja dengan sistem Linux, pengetahuan tentang perintah jaringan Linux merupakan keuntungan tambahan.

Khususnya, jika Anda ingin menjadi insinyur DevOps atau menjadi bagian dari SRE, penting untuk mengetahui semua perintah pemecahan masalah Linux karena mereka akan menjadi bagian dari aktivitas Anda sehari-hari.

Posting ini akan membahas perintah jaringan dan pemecahan masalah linux yang penting yang secara native tersedia di sistem Linux.

Apa Perintah Jaringan dan Pemecahan Masalah Linux terbaik?

Berikut adalah daftar perintah pemecahan masalah yang tersedia secara native.

Perintah Deskripsi
hostname Untuk memeriksa dan mengatur nama host server.
host Untuk mendapatkan detail DNS host
ping Memeriksa apakah server jarak jauh dapat dijangkau menggunakan protokol ICMP. Ini juga menunjukkan waktu perjalanan pulang pergi paket.
curl Utilitas lintas platform yang digunakan untuk mentransfer data. Ini dapat digunakan untuk memecahkan masalah beberapa masalah jaringan.
wget Utilitas untuk mengunduh file. Dapat digunakan untuk memecahkan masalah koneksi dan konektivitas proxy.
ip Pengganti ifconfig . Dapat digunakan untuk mengkonfigurasi dan mengambil informasi tentang antarmuka jaringan sistem
arp Utilitas untuk melihat dan mengelola cache arp.
ss/netstat Terutama digunakan untuk memeriksa koneksi dan PID pada port dan soket Unix.
tracerout e Utilitas ini menggunakan protokol ICMP dan menemukan hop yang terlibat dalam membaca server tujuan. Ini juga menunjukkan waktu yang dibutuhkan antara hop.
mtr mtr adalah gabungan dari ping dan traceroute . Ini juga memberikan informasi tambahan seperti host perantara dan daya tanggap.
dig Membantu Anda mendapatkan data DNS yang terkait dengan nama domain.
nslookup Perintah yang mirip dengan dig.
nc utilitas untuk men-debug soket TCP/UDP.
telnet Dapat digunakan untuk menguji konektivitas jarak jauh pada port
route Membantu Anda mendapatkan semua informasi tabel rute
tcpdump Utilitas ini membantu Anda menangkap paket jaringan dan menganalisisnya untuk masalah jaringan.
lsof daftar semua file yang terbuka dan informasi proses yang membukanya

Mari kita pahami setiap perintah dan lihat bagaimana kita dapat menggunakannya untuk memecahkan masalah Linux.

Catatan Penting: Setiap perintah/utilitas yang disebutkan dalam posting ini memiliki banyak opsi dan flag. Setiap perintah memiliki halaman manual dan Anda dapat menggunakannya untuk mengidentifikasi flag dan opsi yang diperlukan untuk kasus penggunaan Anda. Misalnya, untuk ip perintah, Anda cukup mengetiknya man ip di terminal untuk mendapatkan semua detail tentang perintah itu.

1. nama host

Perintah hostname digunakan untuk melihat nama host mesin dan mengatur nama host.

hostname

Anda dapat menggunakan perintah hostname untuk menetapkan nama host baru untuk mesin. Misalnya,

sudo hostname temp.com

Jika Anda mengatur nama host menggunakan “hostname ”, ketika Anda me-restart mesin, nama host akan berubah menjadi nama yang ditentukan dalam file nama host (misalnya:/etc/hostname).

Jadi jika Anda ingin mengubah nama host secara permanen, Anda dapat menggunakan /etc/hosts file atau file hostname relevan yang ada di server.

  1. Untuk mesin ubuntu, Anda dapat mengubahnya di /etc/hostname berkas.
  2. Untuk RHEL, CentOS dan Fedora Anda dapat mengubahnya di /etc/sysconfig/network berkas.

2. tuan rumah

Perintah host adalah untuk pencarian balik IP atau nama DNS.

Misalnya, Jika Anda ingin menemukan DNS yang dilampirkan dengan IP, Anda dapat menggunakan perintah host sebagai berikut.

host 8.8.8.8

Anda juga dapat melakukan sebaliknya untuk menemukan alamat IP yang terkait dengan nama domain. Misalnya,

host devopscube.com

3. ping

Utilitas jaringan ping digunakan untuk memeriksa apakah server jauh dapat dijangkau atau tidak. Ini terutama digunakan untuk memeriksa konektivitas dan memecahkan masalah jaringan.

Ini memberikan detail berikut.

  1. Byte yang dikirim dan diterima
  2. Paket terkirim, diterima, dan hilang
  3. Perkiraan waktu pulang pergi (dalam milidetik)

Perintah ping memiliki sintaks berikut.

ping <IP or DNS>

Misalnya,

ping devopscube.com

Untuk melakukan ping ke alamat IP

ping 8.8.8.8

Jika Anda ingin membatasi output ping tanpa menggunakan ctrl+c, maka Anda dapat menggunakan flag “-c” dengan angka seperti di bawah ini.

ping -c 1 devopscube.com

4. keriting

Utilitas Curl terutama digunakan untuk mentransfer data dari atau ke server. Namun, Anda dapat menggunakannya untuk pemecahan masalah jaringan.

Untuk pemecahan masalah jaringan, curl mendukung protokol seperti DICT , FILE , FTP , FTPS , GOPHER , HTTP , HTTPS , IMAP , IMAPS , LDAP , LDAPS , MQTT , POP3 , POP3S , RTMP , RTMPS , RTSP , SCP , SFTP , SMB , SMB , SMTP , SMTPS , TELNET dan TFTP

Misalnya, curl dapat memeriksa konektivitas pada port 22 menggunakan telnet.

curl -v telnet://192.168.33.10:22

Anda dapat memeriksa konektivitas FTP menggunakan curl.

curl ftp://ftptest.net 

Anda juga dapat memecahkan masalah konektivitas server web.

curl http://devopscube.com -I

5. wget

wget perintah ini terutama digunakan untuk mengambil halaman web.

Anda dapat menggunakan wget untuk memecahkan masalah jaringan juga.

Misalnya, Anda dapat memecahkan masalah koneksi server proxy menggunakan wget.

wget -e use_proxy=yes http_proxy=<proxy_host:port> http://externalsite.com

Anda dapat memeriksa apakah situs web aktif dengan mengambil file.

wget www.google.com

6. ip (ifconfig)

ip perintah digunakan untuk menampilkan dan memanipulasi rute dan antarmuka jaringan. ip perintah adalah versi yang lebih baru dari ifconfig . ifconfig berfungsi di semua sistem, tetapi lebih baik menggunakan perintah ip daripada ifconfig.

Mari kita lihat beberapa contoh ip perintah.

Menampilkan perangkat dan konfigurasi jaringan

ip addr

Anda dapat menggunakan perintah ini dengan pipa dan grep untuk mendapatkan output yang lebih terperinci seperti alamat IP antarmuka eth0. Ini sangat berguna saat Anda bekerja pada alat otomatisasi yang membutuhkan IP untuk diambil secara dinamis.

Perintah berikut mendapatkan alamat IP eth0 antarmuka jaringan.

ip a | grep eth0  | grep "inet" | awk -F" " '{print $2}'

Dapatkan detail antarmuka tertentu

ip a show eth0

Anda dapat membuat daftar tabel perutean.

ip route
ip route list

7. arp

ARP (Protokol Resolusi Alamat ) menunjukkan tabel cache alamat IP dan alamat MAC jaringan lokal yang berinteraksi dengan sistem.

arp

Contoh keluaran,

[email protected]:~$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.2.3                 ether   52:54:00:12:35:03   C                     eth0
192.168.33.1             ether   0a:00:27:00:00:00   C                     eth1
10.0.2.2                 ether   52:54:00:12:35:02   C                     eth0

8. ss (netstat)

ss perintah adalah pengganti netstat . Anda masih dapat menggunakan netstat perintah pada semua sistem.

Menggunakan ss perintah, Anda bisa mendapatkan informasi lebih dari netstat memerintah. Perintah ss cepat karena mendapatkan semua informasi dari ruang pengguna kernel.

Sekarang mari kita lihat beberapa penggunaan ss perintah.

Mencantumkan semua koneksi

ss ” perintah akan mencantumkan semua koneksi soket TCP, UDP, dan Unix pada mesin Anda.

[email protected]:~$ ss
Netid  State      Recv-Q Send-Q   Local Address:Port       Peer Address:Port
u_str  ESTAB      0      0                    * 7594                  * 0
u_str  ESTAB      0      0      @/com/ubuntu/upstart 7605                  * 0  
u_str  ESTAB      0      0                    * 29701                 * 0
u_str  ESTAB      0      0      /var/run/dbus/system_bus_socket 29702                 * 0
tcp    ESTAB      0      400      172.31.18.184:ssh         1.22.167.31:61808

Keluaran dari ss perintah akan menjadi besar sehingga Anda dapat menggunakan ” ss | less ” untuk membuat output dapat digulir.

Memfilter soket TCP, UDP, dan Unix

Jika Anda ingin memfilter detail soket TCP , UDP atau UNIX, gunakan flag “-t” “-u” dan “-x” dengan perintah “ss”. Ini akan menunjukkan semua koneksi yang dibuat ke port tertentu. Jika Anda ingin membuat daftar port yang terhubung dan mendengarkan menggunakan "a" dengan tanda tertentu seperti yang ditunjukkan di bawah ini.

ss -ta
ss -ua
ss -xa

Mencantumkan semua port yang mendengarkan

Untuk membuat daftar semua port yang mendengarkan, gunakan tanda “-l” dengan perintah ss. Untuk membuat daftar soket TCP, UDP atau UNIX tertentu, gunakan flag “-t”, “-u” dan “-x” dengan “-l” seperti yang ditunjukkan di bawah ini.

[email protected]:~$ ss -lt
State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port
LISTEN     0      128                     *:ssh                      *:*
LISTEN     0      50                     :::http-alt                 :::*
LISTEN     0      50                     :::55857                   :::*
LISTEN     0      128                    :::ssh                     :::*
LISTEN     0      50                     :::53285                   :::*
[email protected]:~$

Daftar semua yang sudah mapan

Untuk membuat daftar semua port yang telah dibuat, gunakan state established bendera seperti yang ditunjukkan di bawah ini.

ss -t -r state established

Untuk membuat daftar semua soket dalam status mendengarkan,

ss -t -r state listening

9. traceroute

Jika Anda tidak memiliki traceroute utilitas di sistem atau server Anda, Anda dapat menginstalnya dari repositori asli.

traceroute adalah utilitas pemecahan masalah jaringan. Menggunakan traceroute Anda dapat menemukan jumlah hop yang diperlukan untuk paket tertentu untuk mencapai tujuan.

Misalnya,

traceroute google.com

Berikut adalah outputnya.

traceroute to google.com (173.194.33.163), 30 hops max, 60 byte packets
 1  ec2-50-112-0-84.us-west-2.compute.amazonaws.com (50.112.0.84)  1.974 ms  1.895 ms  1.899 ms
 2  100.64.1.247 (100.64.1.247)  1.414 ms 100.64.1.137 (100.64.1.137)  1.127 ms 100.64.1.97 (100.64.1.97)  1.313 ms
 3  100.64.0.198 (100.64.0.198)  1.443 ms 100.64.0.62 (100.64.0.62)  2.160 ms 100.64.0.60 (100.64.0.60)  2.116 ms
10  66.249.94.214 (66.249.94.214)  6.313 ms  7.104 ms 209.85.249.34 (209.85.249.34)  5.986 ms
11  209.85.244.65 (209.85.244.65)  6.157 ms  6.341 ms  6.574 m.
.
12  sea09s18-in-f3.1e100.net (173.194.33.163)  6.302 ms  6.517 ms  6.071 ms
[email protected]:~$

Output di atas menunjukkan jumlah lompatan (12) untuk mencapai google.com dari server devopscube AWS ec2.

10. mtr

mtr utilitas adalah alat diagnostik jaringan untuk memecahkan masalah kemacetan jaringan. Ini menggabungkan fungsi ping dan traceroute

Misalnya, perintah berikut menunjukkan traceroute keluaran secara real-time.

mtr google.com

Berikut adalah outputnya.

laporan mtr

Anda dapat membuat laporan menggunakan flag –report. Saat Anda menjalankan laporan mtr, ia mengirim 10 paket ke tujuan dan membuat laporan.

mtr -n --report google.com

11. gali

Jika Anda memiliki tugas yang terkait dengan pencarian DNS, Anda dapat menggunakan “dig ” perintah untuk menanyakan server nama DNS.

Dapatkan semua data DNS dengan dig

Perintah berikut mengembalikan semua catatan DNS dan informasi TTL dari twitter.com

dig twiter.com ANY

Gunakan +short untuk mendapatkan output tanpa verbose.

dig google.com ANY +short

Dapatkan Data DNS Spesifik dengan dig

Misalnya, Jika Anda ingin mendapatkan A record untuk nama domain tertentu, Anda dapat menggunakan perintah dig. +short akan memberikan informasi tanpa verbose

dig www.google.com A +short

Demikian pula, Anda bisa mendapatkan informasi rekaman lainnya secara terpisah menggunakan perintah berikut.

dig google.com CNAME +short
dig google.com MX +short
dig google.com TXT +short
dig google.com NS +short

Terbalik Pencarian DNS dengan dig

Anda dapat melakukan pencarian DNS terbalik dengan menggali menggunakan perintah berikut. Ganti 8.8.8.8 dengan IP yang diperlukan

dig -x 8.8.8.8

12. nslookup

Nslookup Utilitas (Name Server Lookup) digunakan untuk memeriksa entri DNS. Ini mirip dengan perintah dig.

Untuk memeriksa catatan DNS domain, Anda dapat menggunakan perintah berikut.

nslookup google.com

Anda juga dapat melakukan pencarian terbalik dengan alamat IP.

nslookup 8.8.8.8

Untuk mendapatkan semua data DNS dari nama domain, Anda dapat menggunakan yang berikut ini.

nslookup -type=any google.com

Demikian pula, Anda dapat meminta catatan seperti mx , soa dll

13. nc (netcat)

nc (netcat) command dikenal sebagai swiss army of networking command.

Menggunakan nc , Anda dapat memeriksa konektivitas layanan yang berjalan pada port tertentu.

Misalnya, untuk memeriksa apakah ssh port terbuka, Anda dapat menggunakan perintah berikut.

nc -v -n 192.168.33.10 22

netcat juga dapat digunakan untuk transfer data melalui TCP/UDP dan pemindaian port.

Pemindaian port tidak disarankan di lingkungan cloud. Anda perlu meminta penyedia cloud untuk melakukan operasi pemindaian port di lingkungan Anda.

14. telnet

Perintah telnet digunakan untuk memecahkan masalah koneksi TCP pada sebuah port.

Untuk memeriksa konektivitas port menggunakan telnet, gunakan perintah berikut.

telnet 10.4.5.5 22

15. rute

route Perintah ” digunakan untuk mendapatkan rincian tabel rute untuk sistem Anda dan untuk memanipulasinya. Mari kita lihat beberapa contoh untuk perintah route.

Mencantumkan semua rute

Jalankan “route ” perintah tanpa argumen untuk mendaftar semua rute yang ada di sistem atau server Anda.

[email protected]:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ip-172-31-16-1. 0.0.0.0         UG    0      0        0 eth0
172.17.0.0      *               255.255.0.0     U     0      0        0 docker0
172.31.16.0     *               255.255.240.0   U     0      0        0 eth0
[email protected]:~$

Jika Anda ingin mendapatkan output lengkap dalam bentuk numerik tanpa nama host, Anda dapat menggunakan flag “-n” dengan perintah route.

[email protected]:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.16.1     0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.31.16.0     0.0.0.0         255.255.240.0   U     0      0        0 eth0
[email protected]:~$

16. tcpdump

tcpdump perintah ini terutama digunakan untuk memecahkan masalah lalu lintas jaringan.

Catatan: Untuk menganalisis keluaran tcpdump perintah memerlukan beberapa pembelajaran, jadi menjelaskannya di luar cakupan artikel ini.

tcpdump perintah bekerja dengan antarmuka jaringan sistem. Jadi, Anda perlu menggunakan hak administratif untuk menjalankan perintah.

Mencantumkan semua antarmuka jaringan

Gunakan perintah berikut untuk membuat daftar semua antarmuka.

sudo  tcpdump --list-interfaces

Tangkap Paket pada Antarmuka Tertentu

Untuk mendapatkan dump paket pada antarmuka tertentu, Anda dapat menggunakan perintah berikut.

Catatan: tekan ctrl + c untuk berhenti menangkap paket.

sudo tcpdump -i eth0

Untuk membatasi pengambilan paket, Anda dapat menggunakan -c bendera dengan nomornya.

Misalnya,

sudo tcpdump -i eth0 -c 10

Tangkap Paket di Semua Antarmuka

Untuk menangkap paket di semua antarmuka, gunakan any bendera seperti yang ditunjukkan di bawah ini.

sudo tcpdump -i any

17. lsof

lsof adalah perintah yang akan digunakan dalam pemecahan masalah linux sehari-hari. Perintah ini sama pentingnya bagi siapa saja yang bekerja dengan sistem Linux.

Untuk membuat daftar semua file yang terbuka, jalankan lsof perintah.

lsof

Salah satu kesalahan umum yang dihadapi pengembang &insinyur DevOps adalah “Kesalahan gagal mengikat:Alamat sudah digunakan “. Anda dapat menemukan ID proses yang terkait dengan port menggunakan perintah berikut. Anda dapat mematikan proses untuk mengosongkan port.

lsof -i :8080

Utilitas Pemecahan Masalah Jaringan Pihak Ketiga

Ada lebih banyak utilitas baris perintah pemecahan masalah jaringan yang tersedia dari solusi pihak ketiga.

Anda perlu menginstalnya secara terpisah dan menggunakannya untuk tujuan pemecahan masalah Anda. Karena alasan kepatuhan keamanan, tidak semua organisasi mengizinkan Anda melakukannya. Namun, jika Anda harus memilih untuk menggunakan alat pihak ketiga, Anda dapat menjelajahinya.

Kesimpulan

Dalam artikel ini, kami telah membahas utilitas baris perintah Linux yang penting untuk pemecahan masalah dan konfigurasi jaringan.

Jika Anda memulai dengan administrasi sistem, DevOps, atau peran SRE, penting untuk mempelajari utilitas ini untuk mendukung proyek yang sedang Anda kerjakan.

Setiap utilitas memiliki banyak fungsi, dan Anda dapat menjelajahi lebih jauh untuk memenuhi kebutuhan Anda.

Jika menurut Anda kami melewatkan perintah penting, beri tahu kami di bagian komentar.

Juga, jika Anda ingin mempelajari skrip shell, lihat panduan kami tentang cara mempelajari skrip shell. Jika Anda adalah pengembang, lihat panduan saya tentang Perintah Linux yang harus diketahui oleh setiap Pengembang.


Linux
  1. 10 tutorial perintah Linux untuk pemula dan ahli

  2. Perintah Linux:pekerjaan, bg, dan fg

  3. Perintah Dasar Linux Teratas untuk Pemula

  1. Perintah dir Linux untuk pemula (10 contoh)

  2. Tutorial Perintah Hostname Linux untuk Pemula (5 Contoh)

  3. Perintah Linux - Gambaran Umum dan Contoh

  1. Perintah Linux rm Dijelaskan untuk Pemula (8 Contoh)

  2. Tutorial Perintah Linux ln untuk Pemula (5 Contoh)

  3. Tutorial Perintah Linux nl untuk Pemula (7 Contoh)