Saya tidak ke jaringan, dan saya punya pertanyaan berikut yang berkaitan dengan perintah ping Linux .
Bisakah saya hanya ping alamat? Sebagai contoh:
miner@raspberrypi ~ $ ping onofri.org
PING onofri.org (67.222.36.105) 56(84) bytes of data.
64 bytes from onofri.org (67.222.36.105): icmp_req=1 ttl=47 time=202 ms
64 bytes from onofri.org (67.222.36.105): icmp_req=2 ttl=47 time=206 ms
64 bytes from onofri.org (67.222.36.105): icmp_req=3 ttl=47 time=215 ms
Atau bisakah saya juga melakukan ping alamat: port , misalnya: onofri.org:80 ?
Jika saya mencoba yang ini tidak berfungsi:
miner@raspberrypi ~ $ ping onofri.org:80
ping: unknown host onofri.org:80
Apakah mungkin ping sesuatu seperti address: port ? Jika mungkin, mengapa saya tidak mencoba apa yang berhasil?
linux
networking
ping
AndreaNobili
sumber
sumber
GET /index.html HTTP\1.1
dan lihat 200 respons (atau kode kesalahan) bersama dengan markup yang dihasilkan.HTTP\1.1
? Benarkah?HTTP/1.1
...Jawaban:
Anda dapat menggunakan Paping , pengujian port TCP lintas-platform, meniru fungsi ping (port ping)
(lihat juga Github karena code.google.com telah disusutkan)
sumber
paping
? Saya telah mengunjungi repo tetapi tidak ada rilis. Ah, tidak masalah .. kode google tidak dapat diakses untuk saya saat itu.Port adalah konsep UDP dan TCP . Pesan ping secara teknis disebut sebagai ICMP Echo Request dan ICMP Echo Reply yang merupakan bagian dari ICMP . ICMP, TCP, dan UDP adalah "saudara"; mereka tidak didasarkan pada satu sama lain, tetapi tiga protokol terpisah yang berjalan di atas IP.
Karena itu Anda tidak dapat
ping
memiliki port. Apa yang dapat Anda lakukan, adalah menggunakan port scanner likenmap
.Anda juga dapat menggunakan
telnet onofri.org 80
, seperti yang disarankan dalam salah satu jawaban lain (Ini akan memberikan kesalahan jika port ditutup atau difilter).sumber
Saya menggunakan Telnet , karena dibangun ke 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 hidup.
Jika Anda mengetahui urutan perintah untuk layanan yang Anda sambungkan, Anda dapat mengetikkan perintah ( HTTP / FTP GET misalnya) dan amati respons dan keluaran di terminal. Ini sangat berguna untuk menguji layanan itu sendiri, karena itu akan menunjukkan kepada Anda informasi kesalahan yang dikirim ke klien, seperti kesalahan HTTP 500.
Jika Anda mendapat pesan bahwa koneksi ditolak, port ditutup.
sumber
Ya, gunakan HPing untuk melakukan itu:
Perhatikan bahwa ini membutuhkan hak akses root (atau kemampuan SELinux) untuk membuat paket IP mentah, seperti halnya ping (yang kemungkinan besar suid pada sistem Anda).
sumber
hping3
Apakah sama denganhping3
? @ d33tahhping3
dan ping semua port .. Tidak masalah ditutup atau dibuka .. Bagaimana saya bisa tahu jika port ditutup atau terbuka?Anda dapat menggunakan netcat untuk terhubung ke port tertentu untuk melihat apakah Anda mendapatkan koneksi. Bendera -v akan meningkatkan 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.
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. Ini mungkin berlebihan, namun.
sigh saya harus mengedit untuk menambahkan bit ini, karena kita tidak dapat memasukkan kode dalam komentar Knoppix mungkin sedang melakukan sesuatu yang berbeda dengan versi netcat-nya, tapi inilah yang saya dapatkan dari Linux Mint
sumber
nc -z www.google.com 8000
bisa memakan waktu lama - 5 detik plus. Jika saya melakukannya-w 1
maka dibutuhkan 5 detik. Jika saya melakukannya-w 3
maka dibutuhkan 3 kali lebih lama .. 15 berkedip kursor, 15 detik.-w 1
dimaksudkan menjadi satu detik tetapi diuji di cygwin.,. 5 detik. Ini sangat cepat ketika ada server di port tetapi agak lambat ketika tidak ada.Anda juga dapat menggunakan
nping
(bagian darinmap
):sumber
nping --tcp -p 80 localhost
Anda bisa melakukannya di shell dengan Python sebagai liner yang tidak terlalu pendek:
sumber
Hanya untuk referensi, ingin berbagi posting oleh Vivek Gite: https://www.cyberciti.biz/faq/ping-test-a-specific-port-of-machine-ip-address-using-linux-unix/# komentar-920398
Dia mendaftar berbagai cara, beberapa di antaranya sudah diposting di sini. Tetapi yang paling mengejutkan bagi saya adalah
bash
:Atau versi super sederhana: hanya melihat output dari pola perintah berikut:
Berguna saat bekerja dengan wadah buruh pelabuhan acak.
sumber
looking at the output
- hanya memeriksa kode pengembalian yang$?
dapat membantu. Juga tergantung pada port yang ditutup, mungkin batas waktu dapat dikonfigurasi di mana saja ...echo >/dev/tcp/{hostname}/{portnumber}
tidak selesai ketika port ditutup. Danecho >/dev/tcp/{hostname}/{portnumber}
tidak menunjukkan apa-apa meskipun port terbuka dan saya bisa melihatnya di browser.Connection refused
. Jika tidak, ia keluar tanpa menunjukkan apa pun danecho $?
menunjukkan kode keluar1
Saya menambahkan
watch
alat di sini:watch nmap -p22,80 google.com
sumber
Sederhana dengan
nmap
contoh:
Untuk informasi lebih lanjut, lihat ini:
ketikkan baris perintah ini:
man nmap
http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/ http://www.tecmint.com/nmap-command-examples/
sumber
Apakah Anda mencoba menguji komunikasi atau mendapatkan respons dari port 80 pada simpul itu?
PING
akan mencoba menjalin komunikasi ke host tertentu melalui ICMP yang tidak ada hubungannya dengan port.Alih-alih, coba http://nmap.org/ untuk memeriksa info port dan menguji komunikasi:
sumber