web-dev-qa-db-ja.com

Red Hat Linux / CentOSでポートが開いているかどうかを確認する方法

SLP(rfc2608)を実装することを想定したプログラムを作成しましたが、テストに問題があります。ポートが閉じているか、マルチキャストデータグラムをドロップする何かがあるかどうかはわかりません。そのボックスでポートが開いているかどうかを通知するコマンドをredhatターミナルから実行できますか?

ポートへのtelnet接続などに関するいくつかの投稿を見てきましたが、これはTCPポートでのみ機能しますよね?これをテストできるサイトがあることも読みました外部からのことですが、フルポートスキャンには興味がなく、ボックスはプライベートネットワーク上にあるので、そうしたくないのです。セキュリティインシデントが発生しているように見えます。クエリを実行して、ポート427が開いているかどうかを確認します。

8
Jason Thompson

うーん。マルチキャストなので、Telnetは機能しません。

Tcpdumpを実行して、トラフィックがサーバーに到達しているかどうかを確認できます。サーバーで次のようなものを実行します。

tcpdump -i eth0 port 427を確認してください。

何もしなければ、他の場所にある種のブロックがあります。

iptables -L -nなどのローカルファイアウォールをチェックして、INPUTチェーンがトラフィックを許可していることを確認します。

さらに診断するには、ラップトップからプロトコルとポートを指定してtracerouteの実行を開始する必要があります(それ以外の場合は、デフォルトでICMPになります)。

7
cjc

うーん、 netstat -anp | grep 427トリックを行います。多分 lsof -i | grep 427 同じように。

Linuxホストの外部から確認するには、nmapを使用できます。おそらくnmap -sT -p 427またはnmap -sU -p 427(UDPの場合)。

4
ewwhite

netstat ローカルおよび nmap リモートホスト。

よく使う

netstat -plunt

そして

netstat -ant

何が起こっているかの写真を取得します。

1
ptman

ポートオープンとは、ファイアウォールによってブロックされていないことを意味していると思います。その場合、ホストマシンで次のコマンドを実行できます(redhat/centos 7の場合)。

firewall-cmd --list-ports | grep -w <Port No.>

Redhat6/centos6の場合、次を実行できます。

iptables --list-rule | grep -w <Port No.>

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

1
Vatsal Prakash

私の経験からの最良の方法はnmapを使用することです

nmap 10.0.0.1 -Pn -p 427 

別のマシンからテストする場合は10.0.0.1をパブリックIPに、その特定のボックスでテストする場合は明らかに127.0.0.1に置き換えます。

このようなものを出力します:

PORT    STATE    SERVICE
427/tcp filtered https

Nmap done: 1 IP address (1 Host up) scanned in 2.14 seconds

上記のオプションの意味:

-Pn: Treat all hosts as online -- skip Host discover

そして

-p <port ranges>: Only scan specified ports
               Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9

まだ持っていない場合nmap

yum install nmap

この場合はフィルタリングされているため、サービスが必要なボックスでフィルタリングされているかどうかを確認する方法は、2つの異なるコンピューターから確認することです。

またはそのボックスでnmapを実行

nmap 127.0.0.1 -Pn -p 427 

あなたは付け加えられます --reasonがフィルタリングされた理由を確認する

nmap 10.0.0.1 -Pn -p 427 --reason
0