こんにちは。iriharaです。
今回は、RHEL7/CentOS7の管理系のコマンドについて確認してみましたので、
皆さんよろしければ、参考にして下さい。
以前に、RHEL7について紹介させてい頂いた際に、ifconfigコマンドやnetstatコマンドなどは、
今後別のコマンドに切り替わる旨を紹介させて頂きましたが、今回は、netstatコマンドに
取って代わる事になる予定のssコマンドについて紹介させて頂きます。
…と、思った矢先に、色々と確認したところ、ssコマンドについては、現行のバージョン
(iproute-3.10.0)にバグがあることが判明してしまいました。
(Red hat社でも認識されているようです。)
1 2 |
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1063927">https://bugzilla.redhat.com/show_bug.cgi?id=1063927</a> <a href="http://d.hatena.ne.jp/ozuma/20140915/1410774381">http://d.hatena.ne.jp/ozuma/20140915/1410774381</a> |
こちらのサイトにも記載されている通り、ss -natuコマンドでTCPとUDPのポートを一度に
表示すると、一部UDPのポートがTCPで表示されてしまいます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<strong># ss -natu</strong> Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp UNCONN 0 0 192.168.122.1:53 *:* tcp UNCONN 0 0 *:67 *:* tcp UNCONN 0 0 *:111 *:* tcp UNCONN 0 0 *:123 *:* tcp UNCONN 0 0 *:5353 *:* tcp UNCONN 0 0 127.0.0.1:323 *:* tcp UNCONN 0 0 *:52558 *:* tcp UNCONN 0 0 *:53660 *:* tcp UNCONN 0 0 *:929 *:* tcp UNCONN 0 0 127.0.0.1:952 *:* tcp LISTEN 0 100 127.0.0.1:25 *:* tcp LISTEN 0 128 *:443 *:* tcp LISTEN 0 128 *:111 *:* tcp LISTEN 0 128 *:80 *:* tcp LISTEN 0 5 192.168.122.1:53 *:* tcp LISTEN 0 128 *:22 *:* tcp LISTEN 0 128 *:49912 *:* tcp ESTAB 0 96 172.16.36.28:22 172.16.255.39:56035 |
そのため、iprouteを3.14.0にアップデートを実施しました。
現状では、yum updateなどでのアップデートは、まだ対応していないようなので、rpmパッケージを
ダウンロードして対応します。
1 2 3 4 |
# wget ftp://ftp.univie.ac.at/systems/linux/fedora/updates/20/x86_64/ iproute-3.14.0-2.fc20.x86_64.rpm # wget ftp://rpmfind.net/linux/fedora/linux/development/rawhide/x86_64/ os/Packages/l/linux-atm-libs-2.5.1-12.fc23.x86_64.rpm |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# rpm -ivh linux-atm-libs-2.5.1-12.fc23.x86_64.rpm 準備しています... ################################# [100%] 更新中 / インストール中... 1:linux-atm-libs-2.5.1-12.fc23 ################################# [100%] # rpm -Uvh iproute-3.14.0-2.fc20.x86_64.rpm 警告: iproute-3.14.0-2.fc20.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、 鍵 ID 246110c1: NOKEY 準備しています... ################################# [100%] 更新中 / インストール中... 1:iproute-3.14.0-2.fc20 ################################# [ 50%] 整理中 / 削除中... 2:iproute-3.10.0-13.el7 ################################# [100%] |
この結果、以下のように表示されるようになりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<strong># ss -natu</strong> Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 192.168.122.1:53 *:* udp UNCONN 0 0 *%virbr0:67 *:* udp UNCONN 0 0 *:111 *:* udp UNCONN 0 0 *:123 *:* udp UNCONN 0 0 *:5353 *:* udp UNCONN 0 0 127.0.0.1:323 *:* udp UNCONN 0 0 *:52558 *:* udp UNCONN 0 0 *:53660 *:* udp UNCONN 0 0 *:929 *:* udp UNCONN 0 0 127.0.0.1:952 *:* tcp LISTEN 0 100 127.0.0.1:25 *:* tcp LISTEN 0 128 *:443 *:* tcp LISTEN 0 128 *:111 *:* tcp LISTEN 0 128 *:80 *:* tcp LISTEN 0 5 192.168.122.1:53 *:* tcp LISTEN 0 128 *:22 *:* tcp LISTEN 0 128 *:49912 *:* tcp ESTAB 0 96 172.16.36.28:22 172.16.255.39:56035 |
という訳で、気を取り直して、改めてssコマンドについて紹介させて頂きます。
ssコマンドは、セッション一覧などを確認するためのコマンドになります。
オプションとしては、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
【オプション】 -V…バージョン情報 -n…サービス名に変換せずに表示 -r…ホスト名を名前解決 -a…全てのソケットを表示 -l開いているポートを表示 -o…実行するまでの時間が表示 -e…詳細に表示 -m…各ソケットのメモリーの使用量が表示 -p…使用しているポートと紐付いているプロセスの番号が表示 -i…内部TCP情報 -s…集約したソケット情報 -b…bpf filter socket情報 -4…IPv4のみ表示 -6…IPv6のみ表示 -0…パケットを表示 -t…TCP情報のみ表示 -u…UDP情報のみ表示 -d…DCCP情報のみ表示 -w…RAW情報のみ表示 -x…UNIX情報のみ表示 |
オプションが色々ありますが、起動しているサービスの確認などを行う場合、先程も実行した「-natu」を
付ければ、TCPとUDPの起動しているプロトコルの確認ができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<strong># ss -natu</strong> Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 192.168.122.1:53 *:* udp UNCONN 0 0 *%virbr0:67 *:* udp UNCONN 0 0 *:111 *:* udp UNCONN 0 0 *:123 *:* udp UNCONN 0 0 *:5353 *:* udp UNCONN 0 0 127.0.0.1:323 *:* udp UNCONN 0 0 *:52558 *:* udp UNCONN 0 0 *:53660 *:* udp UNCONN 0 0 *:929 *:* udp UNCONN 0 0 127.0.0.1:952 *:* tcp LISTEN 0 100 127.0.0.1:25 *:* tcp LISTEN 0 128 *:443 *:* tcp LISTEN 0 128 *:111 *:* tcp LISTEN 0 128 *:80 *:* tcp LISTEN 0 5 192.168.122.1:53 *:* tcp LISTEN 0 128 *:22 *:* tcp LISTEN 0 128 *:49912 *:* tcp TIME-WAIT 0 0 127.0.0.1:35484 127.0.0.1:80 tcp ESTAB 0 96 172.16.36.28:22 172.16.255.39:56035 |
また、「p」オプションを付けると、起動しているサービスと紐付いているプロセスの確認も可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<strong># ss -natup | grep 80</strong> tcp LISTEN 0 128 *:80 *:* users:(("httpd",pid=8532,fd=3),("httpd",pid=8531,fd=3),("httpd",pid=8530,fd=3), ("httpd",pid=8529,fd=3),("httpd",pid=8528,fd=3),("httpd",pid=8527,fd=3),("httpd",pid=8526,fd=3)) <strong># ps auxf | grep httpd</strong> root 13401 0.0 0.0 112656 988 pts/0 S+ 16:16 0:00 \_ grep --color=auto httpd root 8526 0.0 0.8 238324 8468 ? Ss 14:23 0:00 /usr/sbin/httpd -DFOREGROUND apache 8527 0.0 0.3 240336 3500 ? S 14:23 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 8528 0.0 0.4 240544 4520 ? S 14:23 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 8529 0.0 0.4 240544 4520 ? S 14:23 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 8530 0.0 0.4 240544 4520 ? S 14:23 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 8531 0.0 0.4 240544 4520 ? S 14:23 0:00 \_ /usr/sbin/httpd -DFOREGROUND apache 8532 0.0 0.4 240544 4520 ? S 14:23 0:00 \_ /usr/sbin/httpd -DFOREGROUND |
「s」オプションを付けると、集約した情報が表示されます。
1 2 3 4 5 6 7 8 9 10 11 |
<strong># ss -s</strong> Total: 372 (kernel 510) TCP: 109 (estab 1, closed 101, orphaned 0, synrecv 0, timewait 100/0), ports 0 Transport Total IP IPv6 * 510 - - RAW 0 0 0 UDP 10 10 0 TCP 8 8 0 INET 18 18 0 FRAG 0 0 0 |
これだけだと、分り辛いので、他のオプションと一緒に使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<strong># ss -natus</strong> Total: 372 (kernel 510) TCP: 109 (estab 1, closed 101, orphaned 0, synrecv 0, timewait 100/0), ports 0 Transport Total IP IPv6 * 510 - - RAW 0 0 0 UDP 10 10 0 TCP 8 8 0 INET 18 18 0 FRAG 0 0 0 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 92.168.122.1:53 *:* udp UNCONN 0 0 *%virbr0:67 *:* udp UNCONN 0 0 *:111 *:* udp UNCONN 0 0 *:123 *:* udp UNCONN 0 0 *:5353 *:* udp UNCONN 0 0 127.0.0.1:323 *:* udp UNCONN 0 0 *:52558 *:* udp UNCONN 0 0 *:53660 *:* udp UNCONN 0 0 *:929 *:* udp UNCONN 0 0 127.0.0.1:952 *:* tcp LISTEN 0 100 127.0.0.1:25 *:* tcp LISTEN 0 128 *:443 *:* tcp LISTEN 0 128 *:111 *:* tcp LISTEN 0 128 *:80 *:* tcp LISTEN 0 5 192.168.122.1:53 *:* tcp LISTEN 0 128 *:22 *:* tcp LISTEN 0 128 *:49912 *:* tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35582 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35518 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35543 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35495 tcp ESTAB 0 96 172.16.36.28:22 172.16.255.39:56035 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35506 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35513 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35567 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35497 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35508 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35487 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35583 tcp TIME-WAIT 0 0 127.0.0.1:80 127.0.0.1:35547 ~ 以下省略 ~ |
他にも組み合わせ次第で、色々な使い方ができそうです。
リリースして、まだ間もないので、情報がまだまだ少なかったり、バグがあったりと、今すぐnetstat
コマンドから切り替えて日常的に使用するのは、もう少し先になりそうな感じですが、各ベンダーや
コミュニティから日々リリースされる新しいものに触れて、どういう場面で使う事ができるのか、
もう少し大げさに言えば、世の中にどう影響を与えるのか、など、問題意識を持って、自分なりに色々と
想像を巡らせて、今後も引き続き情報収集に努めたいと思います。
(それが、IT業界に身を置く醍醐味の一つだと思うので。)
■参考
https://bugzilla.redhat.com/show_bug.cgi?id=1063927
http://d.hatena.ne.jp/ozuma/20140915/1410774381
https://www.upken.jp/kb/cent6-cent7.html
http://confluence.sharuru07.jp/pages/viewpage.action?pageId=361352
以上
投稿者プロフィール
最新の投稿
- AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
- セキュリティ2021年7月14日ゼロデイ攻撃とは
- セキュリティ2021年7月14日マルウェアとは
- WAF2021年7月13日クロスサイトスクリプティングとは?