เป็นไปได้หรือไม่ที่จะตรวจสอบว่าหากพอร์ตนั้นเปิดอยู่สำหรับระบบรีโมตบนเซิร์ฟเวอร์ ubuntu หรือไม่?
ฉันควรตรวจสอบว่าพอร์ต (เช่น: ssh) บนเครื่องของฉันเปิดอยู่สำหรับเครื่องระยะไกลหรือไม่
เป็นไปได้หรือไม่ที่จะตรวจสอบว่าหากพอร์ตนั้นเปิดอยู่สำหรับระบบรีโมตบนเซิร์ฟเวอร์ ubuntu หรือไม่?
ฉันควรตรวจสอบว่าพอร์ต (เช่น: ssh) บนเครื่องของฉันเปิดอยู่สำหรับเครื่องระยะไกลหรือไม่
คำตอบ:
ใช้ telnet เก่าที่ดี:
[user@lappie ~]$ telnet host 22
Trying ip.adr.tld ...
Connected to host (ip.addr.tld).
Escape character is '^]'.
SSH-2.0-OpenSSH_5.1p1 Debian-5
นี่คือความพยายามที่ประสบความสำเร็จ คนที่ไม่ประสบความสำเร็จควรมีลักษณะเช่นนี้
[user@lappie ~]$ telnet host 23
Trying ip.adr.tld ...
telnet: connect to address ip.adr.tld: Connection refused
telnet: Unable to connect to remote host: Connection refused
หรือกับ nmap
[user@lappie ~]$ nmap host
Starting Nmap 5.21 ( http://nmap.org ) at 2010-10-07 11:25 CEST
Nmap scan report for host (ip.adr.tld)
Host is up (0.0052s latency).
rDNS record for ip.adr.tld : host.domain.tld
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
3000/tcp open ppp
5666/tcp open nrpe
Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds
nmap
เครื่อง aws จะเรียกรายงานการละเมิด
ใช้ NMAP ตัวอย่าง:
nmap example.com
คุณสามารถใช้ที่อยู่ IP แทนชื่อโดเมน นี่คือเอกสารฉบับเต็ม: http://nmap.org/book/man.html
ง่ายเหมือน:
nc -zw3 domain.tld 22 && echo "opened" || echo "closed"
-w3
หมดเวลา
สำหรับสคริปต์ฉันใช้สิ่งต่อไปนี้:
nmap example.com -p 22 -sV --version-all -oG - | grep -iq '22/open'
ค่าส่งคืนจะบอกคุณว่าพอร์ตนั้นเปิดอยู่หรือไม่!
จากคำตอบ StackOverflowนี้:
ดูเหมือนว่าคุณกำลังมองหาสแกนเนอร์พอร์ตเช่น nmap หรือ netcat ซึ่งทั้งสองอย่างนี้พร้อมใช้งานสำหรับ Windows, Linux และ Mac OS X
ตัวอย่างเช่นตรวจสอบ telnet บน ip ที่รู้จัก:
nmap -A 192.168.0.5/32 -p 23
ตัวอย่างเช่นค้นหาพอร์ตที่เปิดจาก 20 ถึง 30 บน host.example.com:
nc -z host.example.com 20-30
nmap example.com -p 22
Telnet จะทำงานกับบริการ TCP เท่านั้นดังนั้นหากคุณพยายามดูว่าเซิร์ฟเวอร์ DHCP (UDP / 68) ของคุณทำงานบนเครื่องระยะไกลหรือไม่ ในทำนองเดียวกันค่าเริ่มต้น nmap เพื่อสแกนพอร์ต TCP เท่านั้น
สำหรับพอร์ต UDP ให้ใช้:
nmap -sU example.com -p 68
ฉันใช้คำสั่งต่อไปนี้มันให้สิ่งที่ฉันต้องการ
nmap -A IPAddressOfRemoteSystem -p portNumber
เช่น: nmap -A 192.168.1.87 -p 8080
(หรือ) เราสามารถตรวจสอบพอร์ตท้องถิ่นได้เช่นกัน
ก่อนที่จะตรวจสอบก่อนว่าพอร์ตคืออะไรเปิด / ฟังโหมดโดยใช้คำสั่งดังต่อไปนี้
netstat -ntlp | grep LISTEN
หลังจากนั้น
nmap -A localhost -p portNumber
และปิดพอร์ตใดพอร์ตหนึ่งตัวอย่างเช่นหาก mysql ทำงานบน 3306 คุณสามารถหยุดได้
sudo service mysql stop
จากนั้น
nmap -A localhost -p 3306
หวังว่าสิ่งนี้จะเป็นประโยชน์