Cách kiểm tra xem một cổng có mở cho hệ thống từ xa không (ubfox) [đã đóng]


53

Có thể kiểm tra xem các cổng có mở cho hệ thống từ xa trên máy chủ Ubuntu không?

Tôi có thể kiểm tra xem một cổng (ví dụ: ssh) trên máy của tôi có mở cho máy từ xa không.

Câu trả lời:


72

sử dụng telnet cũ tốt:

[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

đây là một nỗ lực thành công Một người không thành công sẽ trông như thế này;

[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

hoặc với 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

Giúp đỡ nhiều!. Tôi cảm thấy Nó chỉ liệt kê các cổng mà không có dịch vụ nào đang chạy trên máy chủ được chỉ định. Tôi đã kiểm tra nó dừng các dịch vụ và chạy lại lệnh nmap. vì vậy nó không liệt kê cổng mà tôi dừng lại. Có thực sự hiển thị các cổng mở cho máy từ xa?
dùng53864

1
@ user53864: rõ ràng bạn nên chạy thử nghiệm này trên một máy từ xa.
natxo asenjo

2
Điều này sẽ chỉ hoạt động cho các dịch vụ TCP.

Sử dụng nmaptrên máy aws kích hoạt một báo cáo lạm dụng.
Newbee

10

Sử dụng NMAP. Thí dụ:

nmap example.com

Bạn có thể sử dụng địa chỉ IP thay cho tên miền. Dưới đây là tài liệu đầy đủ: http://nmap.org/book/man.html


1
Nó chỉ liệt kê các cổng mà dịch vụ đang chạy trên một máy được chỉ định.
dùng53864

Sau đó, bạn đang sử dụng nó sai.
Christoffer Hammarström

@ user53864, đúng vậy. Cụ thể hơn, nó sẽ liệt kê tất cả các cổng MỞ và cũng mô tả những dịch vụ nào đang sử dụng chúng. Nếu bạn đang tìm kiếm một cổng cụ thể, hãy thử chỉ đơn giản là "nmap example.com 22" như natxo asenjo đã nói, nó sẽ quét cổng 22 (SSH) để xem nó có mở không.
Joshua

9

Điều này đơn giản như:

nc -zw3 domain.tld 22 && echo "opened" || echo "closed"

-w3 là thời gian chờ


1
nc -vzw3 domain.tld 22 ngắn hơn và có thể nhiều thông tin hơn một chút ...
g2mk

5

Đối với một kịch bản, tôi sử dụng một cái gì đó như sau:

nmap example.com -p 22 -sV --version-all -oG - | grep -iq '22/open'

Giá trị trả về cho bạn biết cổng có mở không!


5

Từ câu trả lời StackOverflow này :

Bạn dường như đang tìm kiếm một trình quét cổng như nmap hoặc netcat, cả hai đều có sẵn cho Windows, Linux và Mac OS X.

Ví dụ: kiểm tra telnet trên một ip đã biết:

  nmap -A 192.168.0.5/32 -p 23

Ví dụ: tìm các cổng mở từ 20 đến 30 trên host.example.com:

  nc -z host.example.com 20-30


2

Telnet sẽ chỉ hoạt động cho các dịch vụ TCP, vì vậy nếu bạn đang cố gắng xem máy chủ DHCP (UDP / 68) của bạn có chạy trên máy từ xa không thì nó sẽ không hoạt động. Tương tự như vậy, nmap mặc định chỉ quét các cổng TCP.

Đối với cổng UDP, hãy sử dụng:

nmap -sU example.com -p 68


1

Tôi đã sử dụng lệnh sau. Nó đã cho đầu ra những gì tôi muốn. nmap -A IPAddressOfRemoteSystem -p portNumber ví dụ: nmap -A 192.168.1.87 -p 8080 (hoặc) chúng ta cũng có thể kiểm tra các cổng cục bộ

trước đó, trước tiên hãy kiểm tra các cổng đang ở chế độ mở / nghe bằng cách sử dụng lệnh sau.

netstat -ntlp | grep LISTEN

sau đó

nmap -A localhost -p portNumber

và đóng bất kỳ một cổng nào, ví dụ nếu mysql đang chạy trên 3306, bạn có thể dừng nó bằng cách,

sudo service mysql stop

và sau đó,

nmap -A localhost -p 3306

Hy vọng điều này sẽ hữu ích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.