Menilai dari output spesifik yang Connection to Connection to 10.1.0.100 53 port [udp/domain] succeeded!
Anda gunakan openbsd-netcat.
Melihat kode untuk tes itu adalah untuk mengikat ke soket UDP, yaitu ada koneksi terbuka:
if (vflag || zflag) {
/* For UDP, make sure we are connected. */
if (uflag) {
if (udptest(s) == -1) {
ret = 1;
continue;
}
}
/* Don't look up port if -n. */
if (nflag)
sv = NULL;
else {
sv = getservbyport(
ntohs(atoi(portlist[i])),
uflag ? "udp" : "tcp");
}
fprintf(stderr,
"Connection to %s %s port [%s/%s] "
"succeeded!\n", host, portlist[i],
uflag ? "udp" : "tcp",
sv ? sv->s_name : "*");
masalah udptest sekitar 3 menulis ke soket terbuka. Ada catatan bahwa ini tidak berfungsi untuk IPv6 dan gagal setelah sekitar 100 port diperiksa.
Jadi, sementara saran lain mungkin valid, saya tidak berpikir itu terjadi dalam kasus khusus ini.
udptest
juga fungsi yang saya cari dan itu menjawab pertanyaan saya. Dari tautan yang Anda berikan "* udptest () * Lakukan beberapa penulisan untuk melihat apakah port UDP ada di sana"Sebenarnya tidak. Anda dapat memeriksa dengan melakukan:
Jadi dengan UDP, itu bukan sesuatu yang benar-benar dapat Anda periksa kecuali itu akan memberi Anda informasi kembali.
sumber
Ada pesan ICMP untuk mengisyaratkan bahwa port, bahkan port UDP, ditutup. Jadi, jika tuan rumah mengirim pesan ini maka port dapat dianggap ditutup.
https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Destination_unreachable
sumber
Yah saya punya pendapat berbeda:
Jadi berdasarkan itu, Anda dapat memeriksa apakah koneksi antara a dan b pada port udp itu mungkin. Kemudian Anda dapat melanjutkan memeriksa menggunakan tcpdump.
sumber
10.12.0.12
? Mengapa digunakan di kedua komputer?