gdbでcore dumpを取ってみました。出てきた情報は、「Program terminated with signal 11, Segmentation fault.」です。
原因・解決方法をご存知の方がいらっしゃいましたらご教授ください。
netstatコマンドでセグメンテーション違反
Linux初心者です。
くだらない質問かどうかさえもわかりませんが、困っています。
netstatコマンドを実行すると「セグメンテーション違反です」とだけが結果として表示されてしまい、
必要な情報が何も出力されません。
---こんな感じ-----------------------
[root@centos ~]# netstat
セグメンテーション違反です
------------------------------------
とりあえず少しくらいは頑張ろうと、gdbでcore dumpを取ってみました。
(これが正しい原因調査方法かはわかっていません。)
そして出てきた情報がこんなのです。
---こんな感じ-----------------------
[root@centos ~]# gdb netstat -c core.3166
GNU gdb Red Hat Linux (6.5-25.el5rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
warning: Can't read pathname for load map: 入力/出力エラーです.
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
(no debugging symbols found)
Core was generated by `netstat'.
Program terminated with signal 11, Segmentation fault.
#0 0x00923ac0 in strcpy () from /lib/libc.so.6
(gdb) bt
#0 0x00923ac0 in strcpy () from /lib/libc.so.6
#1 0x08051274 in strcpy ()
#2 0x081707a8 in ?? ()
#3 0x00000000 in ?? ()
------------------------------------
意味も分からず悪戦苦闘した結果、コイツ(/lib/libc.so.6)が悪さをしているのか?と
思ってきましたが、そもそも何者か?などがわからず、
viで開いてみてもなんだかバイナリファイルでギブアップでした。
どなたか、原因・解決方法をご存知の方がいらっしゃいましたらご教授ください。
ディストリビューションは
CentOS release 5 (Final)
ちなみに、そもそもの目的はipablesの設定をしようと思って、
内部ネットワークアドレス取得を行おうとしたところで思った出力が
できなかったのが事の発端です。。。
---iptabels-----------------------
[root@centos ~]# vi iptables.sh
#!/bin/bash
#---------------------------------------#
# 設定開始 #
#---------------------------------------#
# インタフェース名定義
LAN=eth0
#---------------------------------------#
# 設定終了 #
#---------------------------------------#
# 内部ネットワークのネットマスク取得
LOCALNET_MASK=`ifconfig $LAN|sed -e 's/^.*Mask:\([^ ]*\)$/\1/p' -e d`
# 内部ネットワークアドレス取得
LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' '` ★★★ここ★★★
LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK
お礼
Wr5様 コメントありがとうございます。 早速、「rpm -V glibc」を叩いてみました。 結果としては、何も表示されずに終了。 --------------------------------- [root@centos ~]# rpm -V glibc [root@centos ~]# --------------------------------- 言われてみれば確かにアドレス直書きの方がシンプルで良さそうです。 (サイトは、そこでした。) ただ、何故できないのかを原因つきとめてきちんとしとかないと…と思いまして。 ご記載頂いている通り何かのウィルスに汚染されていたらそれも問題なのでご質問させていただきました。