ポートがリモートシステム用に開いているかどうかを確認する方法(ubuntu)[終了]


53

ポートがubuntuサーバー上のリモートシステム用に開いているかどうかを確認することは可能ですか?

マシンのポート(例:ssh)がリモートマシン用に開いているかどうかを確認できるはずです。

回答:


72

古き良き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コマンドを再度実行することを確認しました。そのため、停止したポートはリストされませんでした。リモートマシンの開いているポートが本当に表示されていますか?
user53864

1
@ user53864:明らかに、このテストはリモートマシンで実行する必要があります。
natxoアセンジョ

2
これはTCPサービスでのみ機能します。

nmapAWSマシンで使用すると、不正行為レポートがトリガーされます。
ニュービー

10

NMAPを使用します。例:

nmap example.com

ドメイン名の代わりにIPアドレスを使用できます。完全なドキュメントは次のとおりです。http//nmap.org/book/man.html


1
指定されたマシンでサービスが実行されているポートのみをリストします。
user53864

次に、それを間違って使用しています。
クリストファーハンマルストロム

@ user53864、それは正しいです。より具体的には、すべてのOPENポートをリストし、それらを使用しているサービスも説明します。特定のポートを探している場合は、natxo asenjoが言ったように単に「nmap example.com 22」を試してください。ポート22(SSH)が開いているかどうかをスキャンします。
ジョシュア

9

これは次のように簡単です:

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

-w3 タイムアウトです


1
NC -vzw3 domain.tldに22 ...短く、もう少し有益であるかもしれない
g2mk

5

スクリプトの場合、次のようなものを使用します。

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

戻り値は、ポートが開いているかどうかを示します!


5

このStackOverflowの答えから:

nmapやnetcatなどのポートスキャナーを探しているようです。どちらもWindows、Linux、およびMac OS Xで使用できます。

たとえば、既知のIPでtelnetを確認します。

  nmap -A 192.168.0.5/32 -p 23

たとえば、host.example.comで20〜30の開いているポートを探します。

  nc -z host.example.com 20-30


2

TelnetはTCPサービスでのみ機能するため、DHCPサーバー(UDP / 68)がリモートマシンで実行されているかどうかを確認しようとしても機能しません。同様に、nmapはデフォルトでTCPポートのみをスキャンします。

UDPポートの場合:

nmap -sU example.com -p 68


1

次のコマンドを使用しました。必要なものを出力しました。 nmap -A IPAddressOfRemoteSystem -p portNumber 例:(nmap -A 192.168.1.87 -p 8080 または)ローカルポートも確認できます

その前に、最初に次のコマンドを使用して、ポートがオープン/リッスンモードであるものを確認します。

netstat -ntlp | grep LISTEN

その後

nmap -A localhost -p portNumber

また、たとえば、mysqlが3306で実行されている場合は、1つのポートを閉じます。

sudo service mysql stop

その後、

nmap -A localhost -p 3306

これが役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.