Webページを提供するすべてのポートを一覧表示する方法

Webページを提供するすべてのポートを一覧表示する方法

私は、さまざまなポートを介してアクセスできるさまざまなHTTP(S)サービスを備えた複数のサーバーを持っています。どのホストとポートでどのサービスが利用可能かを追跡することは非常に困難です。通常私はブラウザの履歴にのみ依存します。

特定のサーバーでWebページを提供するすべてのポートを一覧表示できるいくつかのシェルコマンド(netcatのいくつかのバリエーション)またはスクリプトがありますか?それとも、すべてのポートでHTTPまたはHTTPSを使用しますか?

答え1

特定のスクリプトではありませんが、その情報を取得する方法があります。いくつかの方法があります。これから始めますnetstat -tuln。これにより、どのポートに接続されているリスニングサービスがあるかを知らせます。その後、特定のポートでリッスンしているPIDを知らせるなど、いくつかの情報を見ると、fuser -n tcp <port num>そのPIDに関連付けられているデーモン/プロセスがわかります。

しかし、真剣に、この問題を完全に解決してから完全なバカになり、文書を最新の状態に保つ方が良いでしょう。それが自分を打つか、他の人 - 繰り返し - 1/4で勝つことを意味するかどうかは関係ありません。手がかり。

答え2

ホストにログインして実行中のプロセスを表示できると仮定すると、最も簡単な方法はnetstatを使用することです。

netstat -lnp | grep <apache|httpd>

Debian は Apache を使用し、cent/rhel は httpd を使用します。このオプションがない場合は、特定のポイントで接続を閉じるIDS / IPSがない場合は、nmapを使用してサービスを検索できます。

または、ブラウザのブックマークまたはシェルエイリアスを使用してください。

答え3

nmapaとスクリプトを使用してこれを行うことができます。http-get.nse*

$ nmap -p* --open --script http-get.nse --script-args http-get.path=/,http-get.match="downloads" 192.168.13.2

Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-13 23:09 CEST
Nmap scan report for 192.168.13.2
Host is up (0.029s latency).
Not shown: 4235 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
80/tcp   open  http
| http-get: 
|_  GET / -> 200 OK
5050/tcp open  mmcc
| http-get: 
|_  GET / -> 200 OK
5051/tcp open  ida-agent
| http-get: 
|_  GET / -> 303
5055/tcp open  unot
| http-get: 
|   GET / -> 200 OK
|_  Matches: downloads
8118/tcp open  privoxy
| http-get: 
|_  GET / -> 400
8200/tcp open  trivnet1
| http-get: 
|_  GET / -> 200 OK

Nmap done: 1 IP address (1 host up) scanned in 17.31 seconds 192.168.1.1

http-get.path=見つかった各開いているポートに対してhttpリクエストを行い、指定されたパスのページをリクエストし、--script-args次に定義された一致するキーワードへの応答を調べます。http-get.match=

開いているポートが見つかると、GET要求のステータスコードと可能なキーワード一致が報告されます。

5055/tcp open  unot
| http-get: 
|   GET / -> 200 OK
|_  Matches: downloads

スクリプトに追加の調整が必要な場合があります。まだhttpsサポートをテストしていません。しかし、始める必要があります。

*修理をフォークして調整しました。スクリプトクレジットは次のとおりです。デビッド・ホイットマン

関連情報