web-dev-qa-db-ja.com

ホストマシンで開いているポートを見つける方法

特定のマシンで開いているポートを確認するためにnmapを使用できることを知っています。しかし、私が必要なのは、ホスト側からそれを取得する方法です。

現在、私のマシンの1つでnmapを使用して他のマシンをチェックすると、例が得られます。

smb:~# nmap 192.168.1.4

PORT    STATE  SERVICE
25/tcp  open   smtp
80/tcp  open   http
113/tcp closed ident
143/tcp open   imap
443/tcp open   https
465/tcp open   smtps
587/tcp open   submission
993/tcp open   imaps

ホスト自体でこれを行う方法はありますか?リモートマシンから特定のホストへではありません。

私ができることを知っています

nmap localhost 

しかし、すべてのマシンを通過するスクリプトにコマンドを入力するので、それは私がやりたいことではありません。

編集:

このように、nmap22 5000 5001 5432 6002 7103 7106 7201 9200を示しましたが、lsof commandは私を示しました22 5000 5001 5432 5601 6002 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7201 7210 11211 27017

2
TheSebM8

Linuxでは、以下を使用できます。

ss -ltu

または

netstat -ltu

listeningTCPおよびUDPポートを一覧表示します。

ポート番号とIPアドレスからサービスとホスト名への変換を無効にする場合は、-nオプション(ssまたはnetstatのいずれか)を追加します。

-pオプションを追加して、リッスンしているプロセス(存在する場合、一部のポートはNFSのようにカーネルによってバインドされている可能性があります)を確認します(スーパーユーザー権限がない場合、実行中のプロセスの情報のみを提供します)あなたの名前で)。

これにより、アプリケーションがリッスンしているポートがリストされます(UDPの場合、ソケットがバインドされています)。 ss/netstat0.0.0.0はリッスンすることを意味します-の出力に表示される特定のアドレスのみ(IPv4またはIPv6、あるいはその両方)のみをリッスンする場合があることに注意してください。 any IPv4アドレス、任意のIPv6アドレスでは[::])。それでも、ネットワーク上の特定の他のホストがそのポートのシステムに接続し、ホストファイアウォールを含むファイアウォールがそのポートの着信接続をブロックまたはマスク/リダイレクトして、多かれ少なかれシステムにアクセスする可能性があるという意味ではありません複雑なルール(このまたはそのホスト、このまたはその送信元ポートからの接続のみを現在またはその時点で、最大でこの時間またはその時間までしか許可しないなど).

ホストのファイアウォール構成については、iptables-saveの出力を確認できます。

また、1つまたは複数のプロセスがTCPソケットでリッスンしているが、accepting接続ではリッスンしていない場合)、保留中の着信接続の数が最大数よりも大きくなると、バックログ、接続は受け入れられなくなり、リモートホストからは、ポートがブロックされたかのように表示されます。ss/netstatの出力のRecv-Q列を確認してくださいこれらの状況(着信接続が受け入れられず、キューがいっぱいになる状況)を特定します。

19

あなたも使うことができます

Sudo lsof -i |grep LISTEN

現在リスニングしているすべてのポートが表示されます。

6
tonioc

ただnmap localhostまたはnmap 127.0.0.1

編集:

もあります ss -lntu from https://superuser.com/questions/529830/get-a-list-of-open-ports-in-linux#529844

2
Romain L.

このようにして、すべての詳細を含む完全なリストtpcを確認できます。

netstat -nltu

すべてのポート

netstat -plan

または、特定のポートの場合

netstat -plan | grep :<portnumber>
0
flik
netstat -plan

または、特定のポートの場合

netstat -plan | grep :<portno.>
0

アプリケーション/ポートの組み合わせの使用のリストを表示するには

cat /etc/services

端末で開いているTCP/UDPポートを表示するには、次のように入力します。

netstat -lntu

または

ss -lntu

0
vedant anand