GNU/Linux >> Belajar Linux >  >> Linux

Apakah mungkin untuk melakukan ping ke alamat:port?

Port adalah konsep UDP dan TCP. Pesan ping secara teknis disebut sebagai Permintaan Gema ICMP dan Balasan Gema ICMP yang merupakan bagian dari ICMP. ICMP, TCP, dan UDP adalah "saudara kandung"; mereka tidak didasarkan satu sama lain, tetapi merupakan tiga protokol terpisah yang berjalan di atas IP.

Oleh karena itu Anda tidak dapat ping sebuah pelabuhan. Apa yang Anda bisa lakukan, gunakan pemindai port seperti nmap .

nmap -p 80 onofri.org

Anda juga dapat menggunakan telnet onofri.org 80 , seperti yang disarankan di salah satu jawaban lainnya (Ini akan memberikan kesalahan jika port ditutup atau difilter).


Saya menggunakan Telnet, karena dibangun di banyak platform tanpa unduhan tambahan.

Cukup gunakan perintah telnet untuk terhubung ke port yang ingin Anda uji. Jika Anda mendapatkan pesan di bawah ini, atau pesan dari layanan itu sendiri, maka port tersebut aktif.

Minty16 ~ $ telnet localhost 139
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Jika Anda mengetahui urutan perintah untuk layanan yang Anda sambungkan, Anda dapat mengetikkan perintah (misalnya HTTP/FTP GET) dan mengamati respons dan keluaran di terminal. Ini sangat berguna untuk menguji layanan itu sendiri, karena akan menampilkan informasi kesalahan yang dikirim ke klien, seperti kesalahan HTTP 500.

Jika Anda mendapatkan pesan bahwa koneksi ditolak, port tersebut ditutup.

Minty16 ~ $ telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Anda dapat menggunakan netcat untuk terhubung ke port tertentu untuk melihat apakah Anda mendapatkan koneksi. Bendera -v akan menambah verbositas untuk menunjukkan apakah port terbuka atau tertutup. Bendera -z akan menyebabkan netcat berhenti setelah memiliki koneksi. Anda kemudian dapat menggunakan kode keluar melalui $? untuk melihat apakah koneksi dibuat atau tidak.

$ nc -zv localhost 22
localhost [127.0.0.1] 22 (ssh) open
$ echo $?
0
$ nc -zv localhost 23
localhost [127.0.0.1] 23 (telnet) : Connection refused
$ echo $?
1

Selain itu, Anda dapat menggunakan mtr dengan flag -T untuk tcp dan flag -P untuk menentukan port. Ini akan melakukan sesuatu yang mirip dengan traceroute melalui TCP, bukan hanya ICMP. Namun, ini mungkin berlebihan.

keluh Saya harus mengedit untuk menambahkan bit ini, karena kami tidak dapat memasukkan kode dalam komentar. Knoppix mungkin melakukan sesuatu yang berbeda dengan versi netcatnya, tetapi inilah yang saya dapatkan dari Linux Mint

$ date;nc -z -w 1 www.google.com 8000;date
Fri Jun 20 15:55:26 PDT 2014
Fri Jun 20 15:55:27 PDT 2014
$ date;nc -z -w 4 www.google.com 8000;date
Fri Jun 20 15:55:33 PDT 2014
Fri Jun 20 15:55:37 PDT 2014

$ nc -h
[v1.10-40]

Linux
  1. Alamat IP Anda adalah 224.67.138.143

  2. Bagaimana mengubah port cPanel – Tidak mungkin lagi!

  3. Netcat - Bagaimana cara mendengarkan pada port TCP menggunakan alamat IPv6?

  1. Linux – Port Serial Raspberrypi?

  2. Gerbang Serial Port Netbsd?

  3. Alamat Default

  1. Cara Ping Nomor Port Tertentu di Linux dan Windows

  2. Ikatan gagal:Alamat sudah digunakan

  3. Busybox ping IP berfungsi, tetapi nama host nslookup gagal dengan alamat buruk