Windowsでは、コマンドラインと 'telnet'に移動してポートを確認します。 Unixで同じことをするには?
「tcpdump port」コマンドを使用している人もいるようです。これはリアルタイムのトラフィックを監視していますか?ありがとう。
nmap
は、そのようなことや他の多くの目的のための優れた汎用ツールです。
nmap Host.domain.tld
(またはnmap Host
ローカルマシン、またはnmap <ipaddr>
(名前ではなくアドレスでマシンをチェックする)は、開いている一般的なポートを一覧表示します。
nmap 192.168.23.1-254 -p 22,80,443
は、アドレスでホストの範囲をスキャンして、TCP通常SSH、HTTP、およびHTTPSに関連付けられているポートが開いているかどうかを確認します。
見る man nmap
より多くのオプション-ネットワークチェックツールのキッチンシンクです。
現在nmapをインストールしていない可能性がありますが、それはほとんどすべてのディストリビューションの標準リポジトリにあります。 debianまたはubuntuバリアントの場合aptitude install nmap
をクリックしてインストールするか、選択したGUIパッケージマネージャで検索します。システムで簡単に入手できない場合は、 http://nmap.org/ から入手してください。
すでにおなじみのtelnet
クライアントテクニックを使用することもできます。これも利用可能であり、通常はデフォルトパッケージの1つにインストールされますが、nmap
は知っておく価値のあるツールですネットワークの問題を診断したり、状況が正しいことを確認したりする場合などに役立ちます。コマンドラインから離れて操作したい場合は、グラフィカルなフロントエンドもいくつかあります。
Bashを使用している場合、manページには/ dev/tcp/HostNameOrIP/portに書き込むことができると記載されています。私はこれを数回使用しましたが、リモートポートが開いていると、応答がありません。システムがリモートポートに接続できない場合は、理由を示します
[kevin@box ~]$ echo -n > /dev/tcp/www.yahoo.com/80
[kevin@box ~]$ nslookup www.no-such-domain.com
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find www.no-such-domain.com: NXDOMAIN
[kevin@box ~]$ echo -n > /dev/tcp/www.no-such-domain.com/80
-bash: www.no-such-domain.com: Name or service not known
-bash: /dev/tcp/www.no-such-domain.com/80: Invalid argument
[kevin@box ~]$ echo -n > /dev/tcp/192.168.3.3/80 #no such server on my network
-bash: connect: No route to Host
-bash: /dev/tcp/192.168.3.3/80: No route to Host
[kevin@box ~]$ echo -n > /dev/tcp/192.168.3.1/88 #nothing listening on port 88
-bash: connect: Connection refused
-bash: /dev/tcp/192.168.3.1/88: Connection refused
[kevin@box ~]$
* nixマシンでもtelnet
を使用できます。
Bashでポートにアクセスできるかどうかをテストするには、次の1行のコマンドを使用できます。
$ </dev/tcp/example.com/80 && echo Port is open || echo Port is closed
Port is open
手動で確認するには、telnet
コマンドを使用します(Windowsと同様)。