Kemungkinan untuk melakukan "ping" url: port? (OS X-GeekTool)

20

Saya mencoba menggunakan GeekTool (panel prefac Mac ... pada dasarnya hanya menyematkan output dari perintah / skrip shell di desktop ... http://lifehacker.com/#!244026/geek-to-live--monitor -Anda-mac-dan-lebih-dengan-geektool ) untuk memonitor mesin / server jarak jauh, dan saya mengalami kesulitan menentukan cara terbaik untuk memeriksa apakah mesin naik / turun.

Saya menggunakan no-ip sebagai dns bebas mengarahkan ulang ... tetapi ini hanya membantu saya dengan IP publik dari router. Mesin yang saya inginkan ada di belakang router dan karenanya tidak dapat "ping" secara langsung.

Saya memiliki port forwarding yang diatur untuk port 8080 yang mengarah ke mesin yang saya inginkan. Apakah pada dasarnya ada cara untuk melakukan ping melalui port 8080 untuk melihat apakah mesin sudah aktif dan bekerja? Saya mencoba telnet, tetapi ini tampaknya tidak berhasil (sejauh keluaran) di GeekTool. Saya menjalankan situs web pada 8080, jadi saya rasa saya hanya ingin tahu apakah / kapan itu turun.

Terima kasih sebelumnya ... jika saya dapat memberikan lebih banyak klarifikasi beri tahu saya.

(mencari tahu masalah saya ... lihat di bawah)

loeschg
sumber
2
pingadalah protokol ICMP, sedangkan port adalah konsep TCP dan UDP. Semua 3 protokol berbeda di atas IP. Itu berarti paket IP yang mengandung TCP tidak dapat berisi ICMP dan sebaliknya. Ini juga berarti header TCP (dengan port) tidak ada dalam paket ping ICMP.
MSalters

Jawaban:

24

Untuk memeriksa port tertentu, Anda dapat menggunakan telnet:

telnet 127.0.0.1 8080

(Port mengikuti IP / nama host dengan spasi, bukan titik dua.)

Jika Anda mendapatkan kesalahan langsung, maka port tidak tersedia. Jika telnet hang, maka Anda telah berhasil terhubung ke port. Ctrl+ Cuntuk membunuh telnet, lalu.

Ini mungkin atau mungkin tidak membantu dengan masalah penerusan port. Itu hanya membuat Anda ke IP dan port itu.

Taji
sumber
Ini akan menyelesaikan pekerjaan ... tetapi tidak bekerja dengan GeekTool: /. Saya menghargai bantuannya.
loeschg
2
Anda mungkin perlu menjalankan brew install telnetuntuk menginstal telnet.
Lucas Bustamante
6

Theres adalah hping utilitas yang memungkinkan Anda untuk port ping TCP. Ini juga tersedia melalui homebrew (brew install hping).

backdrift.org memberikan instruksi sederhana tentang cara menggunakan hping untuk tujuan ini

$ hping -S -p 80 google.com
HPING google.com (eth0 66.249.92.104): S set, 40 headers + 0 data bytes
len=44 ip=66.249.92.104 ttl=47 id=10442 sport=80 flags=SA seq=0 win=5720 rtt=97.7 ms
len=44 ip=66.249.92.104 ttl=47 id=40838 sport=80 flags=SA seq=1 win=5720 rtt=97.7 ms
len=44 ip=66.249.92.104 ttl=47 id=64607 sport=80 flags=SA seq=2 win=5720 rtt=97.7 ms
len=44 ip=66.249.92.104 ttl=47 id=10443 sport=80 flags=SA seq=3 win=5720 rtt=97.7 ms
^C
--- google.com hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 97.7/97.7/97.7 ms
Juha Palomäki
sumber
0

Anda dapat menggunakan wget, curldll. Untuk memeriksa apakah situs web merespons.

Neil
sumber
1
Ini hanya dapat memeriksa port layanan web.
244boy
@ 244boy Pertanyaannya mengatakan "Saya menjalankan situs web di 8080", jadi saya pikir itu cara yang masuk akal untuk memeriksanya.
Neil
0

Telnet menyelesaikan pekerjaannya, tetapi saya tidak dapat mengintegrasikannya dengan GeekTool. Saya akhirnya melakukan ping mysqladmin ke mesin jarak jauh . Situs web memiliki backend db, jadi ini (kurang lebih) mengembalikan info yang saya cari. Terima kasih atas semua bantuannya!

loeschg
sumber