接続確認

telnetとnetstatでポート番号の状態を確認する。

http://togattti.hateblo.jp/entry/2014/01/19/124912

telnetで外部からポート番号が空いているか調べる

telnet xxx.xxx.xxx.xxx 80

iptables

http://www.atmarkit.co.jp/ait/articles/0503/18/news122.html

netstat

ex )netstat -an |grep LISTEN

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 127.0.0.1:1025              0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:55247             0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN
tcp        0    928 172.31.19.9:22              126.70.81.15:51113          ESTABLISHED
tcp        0      0 127.0.0.1:5432              127.0.0.1:39018             ESTABLISHED
tcp        0      0 :::22                       :::*                        LISTEN
udp        0      0 172.31.19.9:123             0.0.0.0:*
udp        0      0 127.0.0.1:123               0.0.0.0:*
udp        0      0 0.0.0.0:123                 0.0.0.0:*
udp        0      0 127.0.0.1:50475             127.0.0.1:50475             ESTABLISHED
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     8772   /tmp/.s.PGSQL.5432

127.0.0.1は前の方が書いているとおりループバックアドレスといってマシン自体を表すアドレスです。

次に0.0.0.0ですが、LISTENING状態のものにしか出ていないと思いますがLocal AddressとForeign Addressで少し意味が違います。 Local Addressの0.0.0.0はマシンが持っているすべてのIPアドレスを表しています。つまりマシンが複数のIPを持っていた場合、マシンの持つすべてのIPアドレスにおいて接続を受け付けているということになります。 それとは違いLocal Addressが指定されている場合は、接続先アドレスがそのアドレスの接続しか受け付けないようになっています。

Foreign Addressが0.0.0.0の場合、これはどんなIPアドレスからでも接続を受け付けているという意味になります。

Stat

フィルド値 意味
LISTEN 서버의 데몬이 접속 요청을 기다리는 상태
SYN-SENT 로컬의 클라이언트 애플리케이션이 원격 호스트에 연결을 요청한 상태
SYN-RECEIVED 서버가 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답을 하였으나 아직 클라이언트에게 확인 메시지를 받지 않은 상태
ESTABLISED 앞의 3단계 연결과정이 완료된 후 서로 연결이 된 상태
FIN-WAIT1 종료 과정으로 능동적 닫기를 요청한 상태
CLOSED 완전히 종료된 상태

...

LISTEN状態のポートを利用するプロセス確認

netstat -atp

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 localhost:blackjack         *:*                         LISTEN      2107/ruby /usr/loca
tcp        0      0 localhost:55247             *:*                         LISTEN      2316/Passenger Rack
tcp        0      0 *:http                      *:*                         LISTEN      1413/nginx
tcp        0      0 *:tproxy                    *:*                         LISTEN      1413/nginx
tcp        0      0 *:ssh                       *:*                         LISTEN      1202/sshd
tcp        0      0 *:postgres                  *:*                         LISTEN      1297/postmaster
tcp        0      0 *:smtp                      *:*                         LISTEN      1382/master
tcp        0      0 *:https                     *:*                         LISTEN      1413/nginx
tcp        0    988 ip-172-31-19-9.ap-north:ssh softbank126070081015.:51113 ESTABLISHED 2223/sshd

PID 1413でhttpプロセスが実行中で、これはnginx demonによって制御されている。

lsof(list open file)

http://qiita.com/yusabana/items/fd03ee4c90a0d1e0a8c6

PortやPID、プロセス名からファイルがオープンしている情報を表示するコマンド

よく利用する場面

「netstat -an |grep LISTEN 」とかでListenしているPortを調べてそのPortが何のプロセスとかで動いているのかとかを確認するのに使っています!

lsof -n -i :1025

プロセスID指定

lsof -p 12345

バッククォート使うとこんな感じ

lsof -p `pgrep -n java`

results matching ""

    No results matching ""