• 締切済み

netstat で表示される「UNIX domain sockets」とは?

RHL4 apache で運用中です。 topコマンドでサーバーを監視していると、最近急に tasksの値が上昇しサーバーが重くなります。 # netstat -np  と打つと・・・ 「Active Internet connections (w/o servers)」の項目と 「Active UNIX domain sockets (w/o servers)」の項目の 2つが表示されますが、以下のように、 「Active UNIX domain sockets (w/o servers)」において 以下のようなものが大量発生していました。これは時間とともに じりじりと増加し、最後にはウェブサーバーが落ちてしまいます。 unix 3 [ ] STREAM CONNECTED 144254692 18819/httpd unix 3 [ ] STREAM CONNECTED 144254672 18850/httpd unix 3 [ ] STREAM CONNECTED 144254551 16862/httpd unix 3 [ ] STREAM CONNECTED 144246713 18401/httpd unix 3 [ ] STREAM CONNECTED 144246706 18864/httpd unix 3 [ ] DGRAM 144246691 13088/httpd unix 3 [ ] STREAM CONNECTED 144246544 18768/httpd unix 3 [ ] STREAM CONNECTED 144246518 18772/httpd unix 3 [ ] STREAM CONNECTED 144246514 18861/httpd unix 3 [ ] STREAM CONNECTED 144245873 13766/httpd unix 3 [ ] STREAM CONNECTED 144245868 18834/httpd unix 3 [ ] STREAM CONNECTED 144245636 18397/httpd unix 3 [ ] DGRAM 144245451 9277/httpd unix 4 [ ] STREAM CONNECTED 144245363 17896/httpd unix 4 [ ] STREAM CONNECTED 144245194 18771/httpd unix 3 [ ] STREAM CONNECTED 144244915 18330/httpd unix 4 [ ] STREAM CONNECTED 144244890 17760/httpd unix 4 [ ] STREAM CONNECTED 144244844 17914/httpd 質問ですが、 1)「Active UNIX domain sockets」 とは、いったい何でしょうか。 また、例えばどういうときに「 httpdの unix sockets 」 は 大量発生するのしょうか。 2)これはdosアタック等の攻撃でしょうか。 その場合、攻撃元IPを特定するにはどうしたらいいでしょうか。 #netstat -np で見る限りでは、「Active UNIX domain sockets」の 項目ではそのPIDに対応したIPが表示されません。 3)それとも、未熟なcgiやphp等のスクリプトが悪さをしているのでしょうか。 その場合、どのスクリプトが元凶なのか、どうやって調べることが できるでしょうか。 #lsof | grep PID で調査できるかとやってみましたが、 アクセス先として表示されるのは、ただのgifファイルだったりして どうもよくわかりません。

みんなの回答

  • P-mann
  • ベストアンサー率62% (56/89)
回答No.1

そこまで分かっているのであれば、apacheのログを見れば何か分かるのではないでしょうか。 apacheをLogLevel debugなどで起動して確認するのも有効かと思います。 ちなみに、Active UNIX domain sockets (w/o servers)は、プロセス間通信のソケットです。 IP通信ではないのでIPアドレスはありません。 apacheがどのようなときにこれを使うのかは・・・申し訳ないですが分からないです。

関連するQ&A

  • sed や owk を使ってデータ整形して実行したい。

    #netstat -np の実行結果が以下だとして、 unix 3 [ ] STREAM CONNECTED 144244439 111/httpd unix 4 [ ] STREAM CONNECTED 144244388 222/httpd unix 4 [ ] STREAM CONNECTED 144244321 333/httpd unix 3 [ ] STREAM CONNECTED 144244294 444/httpd unix 3 [ ] STREAM CONNECTED 144244096 555/httpd これを sed やowk を使って以下のように出力して実行したいです。。 kill 111 222 333 444 555 shでこれを実現したいのですが、以下の記述で、 #!/bin/bash A=`netstat -np |grep unix | gawk '{ print $8 }'` 以下のような結果は得られました。 111/httpd 222/httpd 333/httpd 444/httpd 555/httpd しかしこれ以降をどうすれば、以下のように整形して実行できるでしょうか。 kill 111 222 333 444 555

  • netstatのDGRAMなどを消す方法

    # netstat -anで Active UNIX domain sockets (servers and established) というもの以降を表示させなくする方法を教えて下さい。 現状は下記のような状況です。 http://www.ok24.jp/tech/netstat_command.html

  • apacheでhttpsによって外部からアクセスさせたい

    windowsserver2008でapache2.2.6を動かしてます。 httpd.confとhttpd-ssl.confを編集して、 LAN内から http://server/index.html https://server/cgi-bin/printenv.pl でアクセスできます。 外部から http://domain.jp/index.html でアクセスできるのですが、 https://domain.jp/cgi-bin/printenv.pl だと404エラーが表示されます。 サーバー上でnetstat -aすると、443はLISTENになってます。 外部からhttpsによるアクセスを可能にするために確認すべきこと、 あるいは、アクセスできる方法をご存じの方教えてください。

  • sshのポート変更について

    sshのポートを変更しようと思い、ネットで調べたら下記のコマンドでポートの状態を確認するような事を読み、下記のコマンドを実行しましたがよくわかりませんでした。 http://tjun.jp/blog/2011/05/ubuntu_change_sshport/ ・netstat - an unix 3   [ ]    STREAM    CONNECTED   nnnnn   パス ※nnnnnは番号が表示されています。 やりたい事はsshのポートを「22」から違う番号に変更したいです。 どのようにポート番号を設定すればいいのでしょうか。 アドバイス、宜しくお願いします。

  • MySQLの外部からの接続について

    過去ログを拝見し、いろいろ対処を試みたのですが解決に至らないので質問させていただきます。 LAN上のWindowsXPマシンからLinuxホストマシンで動作するMySQLにODBC接続したいと考えています。 (ODBC接続ツールはインストール済み) まず外部接続可能なユーザーを以下の手順で作成しました。 #mysql -u root -p Enter password: ********* mysql>GRANT ALL PRIVILEGES ON *.* TO <ユーザー名>@% -> IDENTIFIED BY '<パスワード>' WITH GRANT OPTION; またホスト側の状態は以下のようになっています。 #mysql -u <ユーザー名> -p -h 127.0.0.1 mysql> #netstat -an | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN #netstat -a | grep mysql tcp 0 0 *:mysql *:* LISTEN unix 2 [ ACC ] STREAM LISTENING 4305783 /var/lib/mysql/mysql.sock unix 3 [ ] STREAM CONNECTED 4305801 /var/lib/mysql/mysql.sock unix 3 [ ] STREAM CONNECTED 4305798 /var/lib/mysql/mysql.sock にもかかわらず、WindowsXP側から接続を試みると以下のとおり失敗してしまいます。 #mysql -u <ユーザー名> -p -h <ホストIP> Enter password: <パスワード> ERROR 2013 (HY000): Lost connection to MySQL server during query ODBC接続 request returned sql error 原因、対処法などご存知の方ご教示くださいm(_ _)m

  • httpsでは見れるのにhttpでは見れない

    CentOS6.6で自宅サーバーを立てています。(IP 192.168.1.120) var/www/html 直下にindex.html を置きドキュメントルートを指定しました。 iptables はOFFにしています。 httpdを起動すると https://192.168.1.120 ではindex.htmlが見れるのに http://192.168.1.120 では見えません。(Not Found) 何が原因か分からず困惑しています。 netstat -tanp では下記のような状態です。80も443もLISTEN出来ており同じに見えます。 アドバイスいただきたくお願いいたします。 > netstat -tanp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2342/dnsmasq tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1703/vsftpd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1680/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1516/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2040/master tcp 0 0 0.0.0.0:36716 0.0.0.0:* LISTEN 1436/rpc.statd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1416/rpcbind tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 2477/perl tcp 0 809 192.168.1.120:10000 192.168.1.8:57201 ESTABLISHED 3908/index.cgi tcp 0 0 :::22 :::* LISTEN 1680/sshd tcp 0 0 ::1:631 :::* LISTEN 1516/cupsd tcp 0 0 ::1:25 :::* LISTEN 2040/master tcp 0 0 :::443 :::* LISTEN 2097/httpd tcp 0 0 :::8443 :::* LISTEN 2097/httpd tcp 0 0 :::45858 :::* LISTEN 1436/rpc.statd tcp 0 0 :::5989 :::* LISTEN 2249/cimserver tcp 0 0 :::111 :::* LISTEN 1416/rpcbind tcp 0 0 :::80 :::* LISTEN 2097/httpd tcp 0 0 ::ffff:192.168.1.120:443 ::ffff:192.168.1.8:57195 TIME_WAIT -

  • https://ドメインで接続できない

    現在、SSLの設定をしています。 行った事は以下の通りです。 1.無料のダイナミックDNS(NO-IP)を登録しました。 xxxxx.no-ip.org 2.httpd.confの「ServerName」の箇所は下記の通りです。 ---------------------------------------------------------------------------------------------------- ServerName xxxxx.no-ip.org ---------------------------------------------------------------------------------------------------- ※NO-IPで登録したドメインでサイトページが表示できるかを確認したら表示する事が出来ました。 http://xxxxx.no-ip.org 3.使用するSSL証明書は下記のサイトを参考にして発行しました。 http://www.server-world.info/query?os=CentOS_7&p=ssl 4.下記のサイトを参考してmod_sslをインストール、また設定をしました。 http://www.server-world.info/query?os=CentOS_7&p=httpd&f=7 ssl.confの「ServerName」の箇所は下記の通りです。 ---------------------------------------------------------------------------------------------------- ServerName xxxxx.no-ip.org:443 ---------------------------------------------------------------------------------------------------- 5.ブラウザで下記のURLを表示したら接続がタイムアウトが発生しました。 https://xxxxx.no-ip.org ※試しにドメインではなく固定IPアドレスで表示できるかを確認したら、「接続の安全性を確認できません」と表示する事ができました。 https://192.168.XXX.XXX ssl_error_logの内容を確認したら下記のエラーが出力されていました。 ---------------------------------------------------------------------------------------------------- [Fri Apr 10 10:18:14.802337 2015] [ssl:warn] [pid 2858] AH01909: RSA certificate configured for xxxxx.no-ip.org:443 does NOT include an ID which matches the server name ---------------------------------------------------------------------------------------------------- それでhttpd.confとssl.confの「ServerName」の値を確認したら同じドメイン名が指定してありました。 なぜドメインで表示できないかを調べていますがよくわかりませんでした。 環境は以下の通りです。 OS:CentOS Linux release 7.0.1406 (Core) ※mod_ssl-2.4.6-31.el7.centos.x86_64をインストールしました。 ご存知の方がいましたらアドバイスいただけませんでしょうか。 宜しくお願いします。 では失礼します。

  • BIND9の設定を行ったが、ドメインの解決ができない

    DNSサーバーの構築を行っているのですが、localhostの正引き、逆引き 及び取得したドメインの正引き、逆引きもできず困っております。 レンタルの専用サーバーで、独自ドメイン及び固定IPアドレスを取得 セカンダリDNSの設定はなし nslookupで、localhostですらタイムアウトエラーになって困っています。 nslookupでタイムアウト時間を30secにしましたが結果に変化なし [root@ns named]# nslookup -d2 setup_system() ndots is 1. copy_server_list() make_server(203.183.65.13) > localhost addlookup() make_empty_lookup() 省略 check_if_done() list empty unlock_lookup dighost.c:1914 connect_timeout()☆----------タイムアウトエラー lock_lookup dighost.c:2124 success ;; connection timed out; no servers could be reached ■digコマンドも同様です。 ■環境 OS:Red Hat Enterprise Linux 5 WEBサーバー:Server version: Apache/2.2.3 DNSサーバー:BIND9.3.X ■ポートはnetstat -lnで確認済み ■/etc/resolv.conf domain ★取得したドメイン★ nameserver ★固定IPアドレス★ ■/etc/named.confの設定 //rndcの設定 省略 // サーバ設定 options { directory "/var/named"; pid-file "/var/run/named/named.pid"; recursion yes; }; // ルートゾーン zone "." { type hint; file "named.root"; }; // ループバックの正引き zone "localhost" { type master; file "localhost.zone"; }; // ループバックの逆引き zone "0.0.127.in-addr.arpa" { type master; file "0.0.127.in-addr.arpa.zone"; }; zone "★取得したドメイン★" { type master; file "★取得したドメイン★.zone"; }; zone "★固定IPアドレスを逆に記述★.in-addr.arpa" { type master; file "★固定IPアドレスを逆に記述★.in-addr.arpa.zone"; }; ■localhost.zone $TTL 1D @ IN SOA ns.★取得したドメイン★. ★管理者メールアドレス(@->.)★. ( 2009091301 ; Serial 3H ; Refresh after 3 Hours 1H ; Retry after 1 Hour 1W ; Expire after 1 Week 1D) ; Minimum TTL of 1 Day IN NS ns.★取得したドメイン★. ; Name Server を指定 localhost. IN A 127.0.0.1 ; A は実際のアドレスを示す。 localhost = 127.0.0.1 ■0.0.127.in-addr.arpa.zone $TTL 86400 @ IN SOA ns.★取得したドメイン★. ★管理者メールアドレス(@->.)★. ( 2009091301 ; Serial 28800 ; Refresh after 3 Hours 144000 ; Retry after 1 Hour 604800 ; Expire after 1 Week 86400 ; Minimum TTL of 1 Day ) IN NS ns.★取得したドメイン★. 1 IN PTR localhost. アドバイス、よろしくお願いします。

  • BSDでポート587で特定のIPアドレスだけ送信

    FreeBSDでPort587にて特定のIPアドレスに対してメールを配信する方法を教えてください。 FReeBSD初心者なので非常に困っております。 環境としてはFreeBSD環境でqmail1.03を使って 送信のポートはSMTP-AUTHを使っているので587を使っています。 ここまでは分かったのですが、 ユーザーの要望でメールサーバのポートの587でメールを送信する際に IPアドレスを制限(フィルタ)をかけて欲しいという要望があって 私の先任の人間が設定をしていたのですが、 その人間が退職するにあたって引き継ぎ拒否をしてどこに何を設定したのかを 教えてくれません。(泣) qmailの設定ファイル(qmail/control配下)には何も特に記載がなく 唯一教えてくれたのが、 「別に難しい事をやっている訳ではなくて、ポート587を使っているプロセスを調べればわかる」 とだけ言われたのですが、 # sockstat -p587 | less USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS bekktekk sshd 17980 4 stream -> ?? root sshd 17893 5 stream -> ?? qmaild tcpserver 1852 3 tcp4 *:587 *:* qmaill splogger 99153 2 dgram -> /var/run/log qmaill splogger 99149 2 dgram -> /var/run/log root splogger 99148 3 dgram -> /var/run/logpriv root splogger 99147 3 dgram -> /var/run/logpriv root courierlog 738 3 dgram -> /var/run/logpriv root courierlog 729 3 dgram -> /var/run/logpriv root cron 709 6 dgram -> /var/run/logpriv root pure-ftpd 580 3 dgram -> /var/run/logpriv root syslogd 519 4 dgram /var/run/log root syslogd 519 5 dgram /var/run/logpriv root devd 456 4 stream /var/run/devd.pipe PIDの1852を調べると qmaild 1852 0.0 0.1 1276 536 ?? I 27Sep13 0:21.92 /usr/local/bin/tcpserver -p -R -v -c 5 -u 82 -g 81 0 587 /var/qmailauth/bin/qmail-smtpd mail.xxx.ne.jp /usr/local/vpopmail/bin/vchkpw /usr/bin/true となっておりあとがよくわかりません。(^_^;) ちなみにhosts.allwowには特に記載はなく hosts.dennyはありません。 FW的なアプリは特に入ってなさそうで途方にくれてます。 先任の人間が言ったように簡単にポートでIPフィルタリングをかける方法って なにがあるか分かる方いたら、アドバイスをお願いします。 補足 ちなみになんですがsmtp のアクセス制限をするルールを書いたテキストファイルを /home/vpopmail/tcp.smtpにありました。IPアドレスは書いてありましたが、これはアクセス制御をするものであって、配信(転送)を制御するものではないですよね・・・TCPServerで配信転送って制御や制限って出来るのでしょうか?

  • 自分(localhost)へメールが送れない...

    はじめまして。 家のFedora2へPostfix-2.2.3をインストールして、試しに自分(localhost)へメールを出していて、届いていたのですが、今日になって突然どういうわけかメールが届かなくなってしまいました。 状況としましては、 1.メールを送った際の出力ログ [ユーザ]... Connecting to [127.0.0.1] via relay... [ユーザ]... Deferred: Connection reset by [127.0.0.1] Closing connection to [127.0.0.1] 2.netstatでの出力 tcp 0 0 *:smtp *:* LISTEN unix 2 [ACC] STREAM LISTENING 9336 private/smtp unix 2 [ACC] STREAM LISTENING 9384 private/smtp 3.telnetでlocalhost 25へ接続を試みた場合のログ Trying 127.0.0.1... Connected to CORE.localdomain(127.0.0.1). Escape character is '^]'. Connection closed by foreign host. このような状況になっております。 Postfixがポート25でLISTENしていないようなきがするのですが、どうすればよいかわからなくて手立てがなくなってしまいました。 おとといまではバンバンメールできていたのに今日になってできない状況です。 したことといえばproftpdをインストールしたくらいです。 よろしければご回答ください。よろしくお願いします。