ตัดสินโดยเอาต์พุตเฉพาะที่Connection to Connection to 10.1.0.100 53 port [udp/domain] succeeded!
คุณใช้ openbsd-netcat
ดูที่รหัสสำหรับการทดสอบนั้นผูกกับซ็อกเก็ต UDP นั่นคือมีการเชื่อมต่อแบบเปิด:
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 : "*");
ปัญหาudptestประมาณ 3 เขียนไปยังซ็อกเก็ตที่เปิดอยู่ มีข้อสังเกตว่าสิ่งนี้ใช้ไม่ได้กับ IPv6 และล้มเหลวหลังจากผ่านการตรวจสอบพอร์ตประมาณ 100 พอร์ต
ดังนั้นในขณะที่ข้อเสนอแนะอื่น ๆ อาจใช้ได้ แต่ฉันไม่คิดว่าจะเกิดขึ้นในกรณีนี้
udptest
เป็นหน้าที่ที่ผมกำลังมองหาและตอบคำถามของฉัน จากลิงค์ที่คุณให้ไว้ "* udptest () * เขียนเพื่อดูว่ามีพอร์ต UDP อยู่หรือไม่"