2022-12-01に更新

Port関連

開いているPort確認

自分自身を確認

netstatuコマンドで、開いているTCP/UDPポートを表示する。

$# netstat -lut
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN
tcp6       0      0 [::]:http               [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
udp        0      0 localhost:323           0.0.0.0:*
udp6       0      0 localhost:323           [::]:*

netstatコマンドでもよいが、CentOS7からはssコマンドが推奨されているらしい(一次情報にはあたっていない)。
ssコマンドでも実施する。sshやapacheと書かれており、具体的に何番ポートかわからない場合は「-n」オプションを利用する。

# ss -ltu|grep -e ssh -e http
tcp   LISTEN 0      128               0.0.0.0:ssh         0.0.0.0:*
tcp   LISTEN 0      511                     *:http              *:*
tcp   LISTEN 0      128                  [::]:ssh            [::]:*

# ss -ltun
# ss -ltun|grep -e 128 -e 511
tcp   LISTEN 0      128               0.0.0.0:111        0.0.0.0:*
tcp   LISTEN 0      128               0.0.0.0:22         0.0.0.0:*
tcp   LISTEN 0      128                  [::]:111           [::]:*
tcp   LISTEN 0      511                     *:80               *:*
tcp   LISTEN 0      128                  [::]:22            [::]:*

接続待ちをしているポートも含めて表示

# ss -atu
Netid                  State                   Recv-Q                   Send-Q                                          Local Address:Port                                       Peer Address:Port                  Process
udp                    UNCONN                  0                        0                                                   127.0.0.1:323                                             0.0.0.0:*
udp                    UNCONN                  0                        0                                                       [::1]:323                                                [::]:*
tcp                    LISTEN                  0                        128                                                   0.0.0.0:ssh                                             0.0.0.0:*
tcp                    LISTEN                  0                        4096                                       [::ffff:127.0.0.1]:32768                                                 *:*
tcp                    LISTEN                  0                        511                                                         *:http                                                  *:*
tcp                    LISTEN                  0                        128                                                      [::]:ssh                                                [::]:*
tcp                   TIME-WAIT                  0                      0                                               10.1.2.194:36384                                       169.254.169.254:http
tcp                   CLOSE-WAIT                 32                     0                                               10.1.2.194:53958                                         140.204.8.149:https
tcp                   ESTAB                      0                      0                                       [::ffff:127.0.0.1]:32768                                    [::ffff:127.0.0.1]:49598

接続確立してるポート確認

>ss -t

netstat/ssコマンドのオプション

| TH | TH |
| オプション | 説明 |
| -a | すべて表示(接続待ちも) |
|-l|Listenしているポートのみ表示|
|-t|TCPを表示|
|-u|UDPを表示|
|-n|ポートやホストを数値で表示|
|-p|ポートを開いているプロセスを表示|

PIDやFDも含めて、特定のポートの状況を確認する場合

# lsof -i:3306
COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  297221 mysql   24u  IPv6 915253      0t0  TCP *:mysql (LISTEN)

外部からポートを確認

外部からどのポートが開いているか確認.

> yum install nmap
> nmap [IPアドレス]

自分自身をスキャンする時は

> nmap localhost
PORT   STATE SERVICE
22/tcp open  ssh
>
>
> nmap -p 1-1000 localhost
PORT   STATE SERVICE
22/tcp open  ssh
>
>
>nmap -p 3128 localhost
PORT     STATE  SERVICE
3128/tcp closed squid-http

サービスのPort番号確認

# view /etc/services

Port指定疎通確認

まずは適当なPortをListenさせる

# nc -l 12345

Windowsの場合

>Test-NetConnection IPアドレス  -Port Port番号

Linuxの場合

> nc -vz localhost 12345

Curl

$ curl google.com
$ curl -v telnet://10.1.2.194:22
* Rebuilt URL to: telnet://10.1.2.194:22/
*   Trying 10.1.2.194...
* TCP_NODELAY set
* Connected to 10.1.2.194 (10.1.2.194) port 22 (#0)
SSH-2.0-OpenSSH_8.0
ツイッターでシェア
みんなに共有、忘れないようにメモ

kawai_mizugorou

社会人2年目.自分用のメモとして使ってます.

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント