Saya perlu memeriksa bahwa server OpenVPN (UDP) sudah habis dan dapat diakses pada host host: port.
Saya hanya memiliki komputer Windows XP biasa tanpa klien OpenVPN (dan tidak ada kesempatan untuk menginstalnya) dan tidak ada kunci yang diperlukan untuk terhubung ke server - hanya alat baris perintah WinXP yang umum, browser dan Putty ada dalam disposisi saya.
Jika saya menguji sesuatu seperti SMTP atau POP3 servert saya akan menggunakan telnet dan lihat apakah ia merespons, tetapi bagaimana caranya dengan OpenVPN (UDP)?
tls-auth
opsi konfigurasi (disarankan) , maka itu TIDAK MUNGKIN (Jika Anda tidak memiliki setidaknya kunci pembungkus luar)! Paket apa pun dengan tanda tangan HMAC yang salah akan dibuang tanpa respons oleh server.Jawaban:
Berikut ini adalah shell-liner:
jika ada openvpn di ujung yang lain hasilnya akan
kalau tidak, itu hanya akan bisu dan batas waktu setelah 10 detik atau menampilkan sesuatu yang berbeda.
CATATAN: ini hanya berfungsi jika
tls-auth
opsi konfigurasi tidak aktif, jika tidak server menolak pesan dengan HMAC yang salah.sumber
tls-auth
opsi konfigurasi untuk menjatuhkan paket dengan sig HMAC yang salah.od -x -N 14
daripadacat -v
jauh lebih berguna karena Anda dapat a) melihat konten biner yang sebenarnya daripada sampah ASCII dan b) langsung menerima setiap baris output ketika server mengirim setiap paket jabat tangan dan menghentikannya segera setelah yang pertama.-N 14
karena paket handshake panjangnya 14 byte dan hanya berulang.Maaf jika saya sedikit terlambat dengan jawaban saya;)
Kirim paket udp dengan konten berikut:
$ 38 $ 01 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00 $ 00
Server harus merespon sesuatu.
Anda dapat memalsukan paket udp dengan python seperti ini:
sumber
tls-auth
.Anda dapat mencoba menjalankan yang berikut di CLI
Ini harus mencantumkan semua proses yang mendengarkan pada server / sistem Anda. Grep untuk nomor port yang Anda inginkan
sumber
Bagi siapa pun yang menjalankan ini, yang mencoba memonitor server yang memilikinya
tls-auth
diaktifkan, Anda dapat menggunakan skrip python di sini: https://github.com/liquidat/nagios-icinga-openvpnOutput diformat untuk digunakan dalam Nagios atau Icinga, tetapi dapat dijalankan oleh apa saja / siapa saja, asalkan Anda memiliki python dan tf keyfile yang tersedia.
Misalnya, jika Anda menggunakan
SHA256
sebagai intisari Anda, Anda akan menggunakan sesuatu seperti:python check-openvpn.py -p 1194 --tls-auth ta.key --digest SHA256 vpn-server.example.com
Catatan: Anda mungkin perlu menambahkan
--tls-auth-inverse
tergantung pada nilai serverkey-direction
.sumber
Jika Anda bisa mendapatkan pcap interaksi OpenVPN Client ke OpenVPN server yang valid, Anda bisa memodelkan set paket awal dengan sesuatu seperti netcat, seperti yang disarankan oleh TiZon.
Pada dasarnya, Anda ingin cukup paket pertama yang valid untuk membuat server merespons dengan setidaknya pesan kesalahan, sehingga tidak harus sempurna, cukup baik.
Saya mencoba mengunjungi http://pcapr.net , tetapi saya tidak melihat contoh OpenVPN di sana. Mungkin, jika orang lain mengklaim layanannya sudah habis, Anda bisa membuat orang lain itu mengambil pcap transaksi.
sumber
jika Anda memiliki setup openvpn pada tcp, dengarkan maka sesederhana itu
dengan asumsi 1194 adalah port yang Anda dengarkan
ini akan memberi Anda semacam tanggapan untuk menunjukkan bahwa server openvpn mendengarkan
sumber