68user's page 掲示板

Prev< No. 2867〜2895> Next  [最新発言に戻る] [過去ログ一覧]
No. 2867 # しっぽ 2002/07/24 (水) 10:52:32
>>2859 & 2860

レスありがとうございます

>この目的を聞かせてください。connect で数分待ってしまうのがイヤだから
>なんとかしたい、ということだと受け取ったのですが、

サーバーのサービスの監視が目的です。L4SW(サーバーロードバランサー)なんかだと
5秒間隔のSYNに3回連続で応答しなければ死んだと見なすなんてヘルスチェックを
良くやるのですが…、3分にもわたって6回連続で応答しない場合のみ死んだと見なす
ってのはちょっと嬉しくないです

#これ書いててL4SWが余ってるからそれでやっても良いことに気づいた…(^^;

Writeのタイムアウトの方法は知りませんが、readのタイムアウトは以前
$selector->can_read あたりをやってみて上手くできていたような気がします



>IO::Socket::INETなんて高級な物を何故そこで使うのかがわかりませんが、

低水準な物の存在を知らなかったので…
Net::RawIP ってのは名前からして使えそうな気がします。ぐぐるで調べて
何件か出てきたので見てるところですが、ただ今のところ送るのはともかく
その後どうやって受信したら良いかが良くわかってなかったりします
まあAttackingに使うには良いのかも知れませんが

No. 2868 # 68user 2002/07/24 (水) 11:59:32
>>2867 しっぽ
であれば、ずっと connect しっぱなしで定期的にデータを
送り、返答がなければ異常とみなすのはどうでしょうか?

で、connect のタイムアウトですが、IO::Socket のソースをちらっと
見て $SIG{ALRM} やら alarm やら書いてあったので、connect 時にも
タイムアウトが働くはず…と思っていたのですが、実際に試してみると
タイムアウトになりませんでした。なので、

    $SIG{ALRM}=sub { print "SIGALRM!\n"; };
    alarm(10);
    $socket = new IO::Socket::INET (...);
    alarm(0);

こんな感じで。

No. 2869 # 68user 2002/07/24 (水) 12:09:52
>>2868 68user
ちなみに connect 中に SIGALRM が飛んでくると $! (errno) には
    Interrupted system call
が入ります。でも、IO::Socket は内部で $! が潰されてしまう
ようですね。

そういう意味でも、KL さんのおっしゃるとおり高級なものを
使うのは避けた方がよいかも。

No. 2870 # KL 2002/07/25 (木) 22:31:03
>>2867 しっぽ

>何件か出てきたので見てるところですが、ただ今のところ送るのはともかく
>その後どうやって受信したら良いかが良くわかってなかったりします

sendメソッドがありますがrecvが無いですね。
前記の通りRawIPはlibpcapのラッパーなので、libpcapへのインターフェイス
がPerlに露出されてます。キャプチャせよということでしょう。
http://search.cpan.org/doc/SKOLYCHEV/Net-RawIP-0.09d/RawIP/libpcap.pod

halfscan.cを(Perlなり他の手段を経由するなりして)raw socketの使えるシェル
から使えば一番手短に済んで良いと思いますけども。
Perlでなければならない理由が何かあるのでしょうか。また、監視対象のサービ
スも何か分からないので、halfscan.cが一番汎用で楽です。

>まあAttackingに使うには良いのかも知れませんが

どこがどのように良いのでしょう?

>>2868 68user

「connectしっぱなしで対象サービスを監視しているサービスが
正常に動いているか」を監視するサービスが必要で、さらにその
サービスを監視するサービスが...というのを考えつきました 笑
この循環を止めるには、せいぜいhalfscan.cを、切れない回線の
向こうにある落ちないOSから定期実行するか、もしくはしっぽさん
の仰られるような信頼性の高い機械を使うしかないのでは。

No. 2871 # has 2002/07/26 (金) 07:19:53
>>2864 68user
> 名前解決ができない。
nslookup,host,digは動作OKです。

> → これは dig は名前解決できないという意味? nslookup と host が OK で、
> dig が NG ならば、ちょっと理解できません。
strace digについては、dig自体は正常に動作し名前解決しているが、
ご指摘のsend()のコールが見つからないという意味です。
かわりにwrite()のコールがあるので、sendではなくwriteを使っているのでは
と想像していますが、straceで表示されるwriteで送っている文字列(?)は
内容が意味不明で、writeがsendの代わりに使っていると断言する自信は
ありません(dnsライブラリのソースや解説を見たわけではないので)。
実際には次のようになります。

% strace dig www.jp.freebsd.org >& strace-dig.txt
% grep 'write(' strace-dig.txt
write(4, "\t\0\0\0\5\0\0\0\2\0\377\277\266\3066\1\0\240\5\10\340"..., 148) = 148
write(4, "\200-(@\0\0\0\0\0\372\377\277\200T$@\10P<@\3@\0\200\0\0"..., 148) = 148
write(4, "\200-(@\0\0\0\0\20\372\377\277\220q$@XP<@\3@\0\200\0\0"..., 148) = 148
write(4, "\200-(@\0\0\0\0\0\372\377\277 \365$@\350\"\6\10\3@\0\200"..., 148) = 148
write(4, "\200-(@\1\0\0\0\2\4\0\0Ho\26@\320\371\377\2771\220\0@\334"..., 148) = 148
write(6, "\377\377\377\377", 4) = 4
write(4, "\200-(@\1\0\0\0\4\f\0\0\30V(@\260\214\'@\240\224;@\310"..., 148) = 148
write(4, "\200-(@\1\0\0\0\3\10\0\0\376\274\'@\340\"\6\10\260\230"..., 148) = 148
write(4, "\200-(@\2\0\0\0\0\0\0\0*\22:@t\241;@@0<@8\372\377\277\372"..., 148) = 148

> → perl (から呼ばれる libc の resolver) は正常動作していると思う。
確かに正常動作しているように見えます(想像ですが)。

ここで気づいたことがあるのですが、dnsを直接操作するコマンドと
gethostbynameを呼んでいると思われるコマンドで互いのstraceの結果を見比べると、
dns処理のためにオープンしているライブラリが異なっているようです。

またネットを検索していて気づいたのですが、glib2.1.??あたりにバグが
あるらしいです(情報自体は古いですが)。
もしかしたらバグのあるバージョンかもしれないので調べてみます
(今回の名前解決とは関係のないバグかもしれませんが…)。

> netstat -s については、2〜3ヵ月以内の UNIX USER に詳しく説明されていましたので
見つけたら是非読んでみようと思います(書泉行き?)。

> あと、本当にお困りなら linux.or.jp あたりのメーリングリストで
> 質問した方が早いと思うですよ (もちろん解決しなくてもいいなら
> こっちで続けても構いません)。
解決しなくていいわけではないですが、まだねばりたいです。
いつまでも同じ話題でいいかげん飽きている、という気もしますが、
もう少しお付き合いくだせい。

No. 2872 # has 2002/07/26 (金) 07:24:41
>>2866 68user
> そうそう、/etc/nsswitch.conf は
> hosts: files dns
> てな感じになってますか?
ご指摘の記述は存在しました。

No. 2873 # kaworu 2002/07/28 (日) 03:21:28
初めまして。たまにこのホームページにお邪魔させて頂いてます。
FreeBSDのFileSystemについて質問があります。
早速ですが、質問させていただきます。
iノード番号から、struct inodeまたはstruct dinodeを取得する関数(system call)があれば、その関数名を知りたいのですが。
どなたか、ご存知の方はいらっしゃいませんでしょうか?

No. 2874 # しんとろ 2002/08/01 (木) 02:25:47
初めまして。すばらしいサイトですね!
私はまだunix初心者なので、貴サイトにはお世話になっております。

Mewについて調べたところ、
http://www.mew.org/index-j.html
へのリンクが切れてました。
今は
http://www.mew.org/index.html.ja
もしくは
http://www.mew.org/
で行けると思います。

これからも頑張ってください。

No. 2875 # 68user 2002/08/01 (木) 03:21:31
>>2873 kaworu
> iノード番号から、struct inodeまたはstruct dinodeを
> 取得する関数(system call)があれば
たぶんないです。

struct inode や struct dinode は UFS にしか存在しないので、
UFS, NFS, DOS ,ext3, VFAT, FAT32 など、複数のファイルシステムを
サポートしなければならないシステムコールとしては存在しないです。

もしやるなら /dev/da0c などのデバイスを直接オープンすること
になると思いますが、clri, fsck, fsdb などのソースが参考に
なるかもしれません。

>>2871 has
> dns処理のためにオープンしているライブラリが異なっているようです。
とりあえず ldd でどのライブラリを使っているか見たり、nm や
objdump でどの関数を使っているか調べてみるとよいかもしれません。

No. 2876 # 68user 2002/08/01 (木) 03:27:19
>>2875 68user
> struct inode や struct dinode は UFS にしか存在しないので、
ああ、いきなり嘘を書いてしまった。

struct inode はメモリ内 inode なので、全ファイルシステムで
利用可能ですね。

No. 2877 # カトウ [E-mail] 2002/08/12 (月) 10:53:17
はじめまして!!UNIX初心者なのですが、こちらには本当にお世話になっております。
素晴らしいサイトだと思います。
数あるコマンドリファレンス本がほとんど無用になりました。

でも先週、なぜかまったくアクセスできなくなってしまい、大変つらい思いをしました。
こんな聞き方失礼でしょうが、こちら、閉鎖されてしまう予定とかないですよね?
もしなくなってしまったらとてつもなく悲しいです。業務にも支障が出てしまいます(悲しくて(笑))
もし一括ダウンロード等の仕組みがあったらぜひバックアップしておきたいくらいです。
ぜひぜひ永続を願わんことを・・・管理人様の労力を無視した勝手な発言で申し訳ありませんが。

No. 2878 # Ash [E-mail] 2002/08/12 (月) 23:36:23
はじめまして。いつもいつもUNIXの勉強でお世話になっています。
本当に素晴らしいサイトですね。
私もダウンロード等で保存しておきたいぐらいです。
市販の参考書よりもわかりやすく、とても参考になります。
これからもよろしくお願いします。

No. 2879 # hiro [E-mail] 2002/08/20 (火) 18:02:22
はじめまして。UNIX初心者なのが、いつもお世話になってます。
今、会社でHP−UNIX10.20を使用しています。(勉強中)
DATテープにデータをバックアップするのにfbackupコマンドを使用しています。このfbackupでバックアップした内容を確認するコマンドって何ですか?ちなみにtar cvでバックアップした内容の確認はtar tvで確認できますよね?以上、ご存知の方教えてください。

No. 2880 # 68user 2002/08/21 (水) 21:44:18
>>2877 カトウ
> でも先週、なぜかまったくアクセスできなくなってしまい、
> 大変つらい思いをしました。
8/2 あたりから 10日ほどマシンが落ちてました。マシンがリモートに
あるため対応が遅くなり失礼しました。

> こちら、閉鎖されてしまう予定とかないですよね?

現時点では閉鎖予定はないですが、なにぶんにもタダで借りさせていただいて
るものですから、マシンがクラッシュしたらどうなるかわかりません。そしたら
どこかでサーバ探すでしょうが、それもいつになるかわかりませんし、移転の
お知らせはできないかもしれません。

それまでに頑張って man と google だけで問題解決できるようになって
ください。

>>2879 hiro
man fbackup を読みましょう。
    http://www.calpoly.edu/cgi-bin/man-cgi?fbackup
読むのが面倒なら、SEE ALSO の項目だけ見て、それっぽいコマンドを
試しましょう。僕は HP-UX を使ったことがないので、どれがそのコマンド
なのかはわかりません。

No. 2881 # シゲ [E-mail] 2002/08/22 (木) 23:30:28
シゲと申します。
今、red hat 7.1でパッケージソフト開発を行っています。
複数のプロセスが立ち上がるもので、それぞれのメモリー使用量を確認を行っています。
meminfoにより合計のメモリ使用量を測ると13Mぐらいしかないのに、それぞれのプロセスの /proc/(プロセス番号)/status のVmSizeを合計すると、150Mぐらいになってしまいます。
150Mは間違いなく間違っていると思います。
単プロセスのメモリ使用量ってほかに計り方がないのでしょうか?
ご教授お願いします。

No. 2882 # 68user 2002/08/22 (木) 23:39:45
>>2881 シゲ
例えば、ls を同時に 2 プロセス実行していても、メモリ上に配置される /bin/ls の
テキスト領域 (命令文の領域) は 1 つしかありません。同様に libc などのライブラリの
テキスト領域も共有されます。そこらへんで食い違いが出ているのではないかと思います。

> 単プロセスのメモリ使用量ってほかに計り方がないのでしょうか?

どーなんでしょうねー。status の Vm* を足したり引いたりしたら
計算できそうな気もしますが、正確なところはわかりません。

まぁ、ここらへんのテキスト領域をどう計算したいのかにもよると思います。

No. 2883 # シケ゛ [E-mail] 2002/08/23 (金) 00:38:47
ご教授有難うございます。
帰りの電車の中で考えていたら、ひらめきました。
全プロセス立ち上げ時の,/proc/meminfoの全使用メモリ量から、測定したいプロセスをkillしたときの/proc/meminfoの全使用メモリ量を引けば良い気がしました。
しかし、考えてみれば68userさんのおっしゃるとおり、共有メモリが存在するから、正確な結果ではありませんね・・・。

こまったな・・・。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2884 # 68user 2002/08/23 (金) 02:08:32
>>2883 シケ゛
結局は用途次第なわけですが、普通の環境であれば daemon 類が libc を
使っているでしょうから、そこらへんは無視していいでしょう。

あとは、横軸: プロセス数、縦軸: メモリ使用量なグラフでも書いて、
    「n クライアント、m リクエスト/sec だと XX MB 程度必要」
とか書いておけばいいんじゃないでしょうか。

# 手抜き?

No. 2885 # ホームズ 2002/08/28 (水) 11:35:24
はじめまして。
いつもこちらのサイトにお世話になっています。

パスの設定のされていないコマンドにパスを設定するには
どうすればよいのでしょうか(絶対パスでは実行できます)
初歩的な質問で恐縮ですがお教えいただけませんでしょうか。
よろしくお願いいたします。

No. 2886 # 68user 2002/08/28 (水) 13:07:36
>>2885 ホームズ
    % hoge
    hoge: Command not found.
    % /foo/bar/hoge
    (実行できる)

という状況で、hoge とだけタイプすれば実行できるようにするには
どうしたらよいか、ということですか?

環境変数を使うのが一番簡単でしょう。
    % setenv PATH ${PATH}:/foo/bar (csh・tcsh 系)
    $ PATH=${PATH}:/foo/bar; export PATH (sh・bash 系)

csh・tcsh 系なら
      set path=($path /foo/bar)
でもいいです。

No. 2887 # ホームズ 2002/08/28 (水) 13:41:04
お返事ありがとうございます。

68userさんの言われたとおり設定したらできました。
どうもありがとうございました。

No. 2888 # 26歳 [E-mail] 2002/09/04 (水) 21:32:05
初めまして、よろしくおねがいします。

お聞きしたいことがあります。
tar xvzf .tgz
して、うまく展開したのですが、
もう一度 練習で、やってみようと思うと、
Only one compression option permitted
とでてしまいます。
一回しかできないという意味なのでしょうか?

一回、   .tgzを消して試しましたが、同じでした。

初歩的かもわかりませんがよろしくお願いします。
  

No. 2889 # 68user 2002/09/05 (木) 08:35:06
>>2888 26歳
> Only one compression option permitted
    一つの圧縮オプションしか許されていない。
=複数の圧縮オプションを指定することはできない。

というわけで、Z・z・y・j などの圧縮形式を指定するオプションを、
複数個指定したのでしょう。

例えば tar zxvzf とか、tar xvZzf とか。

No. 2890 # Bootick 2002/09/08 (日) 00:28:45
はじめまして、こんにちは。

環境:Redhat7.3
ログインしているユーザが、現在何処のディレクトリにいるか
っていうのを調べることは可能でしょうか?
「who」のオプションであったりしますか?

宜しくお願いします。

No. 2891 # 68user 2002/09/08 (日) 19:19:39
>>2890 Bootick
root 権限があるなら ps -ef eww で環境変数 PWD を見るとか、
/proc の下を覗いてみるとかですかねぇ。

root 権限がないなら無理ではないかと思います。

No. 2892 # コメン 2002/09/10 (火) 17:50:03
telnetやcgiを使って本IPをメモするソースがほしいのですが、どうしたらいいですか?それと出来れば設置方法も教えてほしいです。素人なのでまったく分かりません。PCに詳しい方、お願いします

No. 2893 # はさみ 2002/09/13 (金) 10:58:28
はじめまして。
先日 /dev/null が消えてしまい、少なからずシステムに影響が出てしまいました。
それまで安定稼動していたのに、何故突然消えてしまったのか原因がわかりません。サーバ上で特に作業はしていませんでした。
どなたか同じ現象に遭遇した方いらっしゃいませんか?

No. 2894 # あきゆき 2002/09/19 (木) 10:36:38
はじめまして。
いつもお世話になっています。

Linuxにて「Proxy サーバ経由の SSL 通信」を行おうと考えております。
「ネットワークプログラミングの基礎知識」にSSL 通信の方法が
記載されていますが、Proxy 経由の方法が分からず、現在格闘中です。

Proxy サーバへの接続はできました(HTTP の通信は OK です)。
Linux & C言語の初心者で恐縮ですが、
これらの技術的なアドバイス・参考になるサイトなどがありましたら、
ご教授下さい。

よろしくお願いします。

No. 2895 # 68user 2002/09/19 (木) 12:22:03
>>2894 あきゆき
平文で、
    CONNECT target.host.com:443 HTTP/1.0\r\n
    Host: target.host.com\r\n
    \r\n
を送って、サーバから
    \r\n\r\n
が来るまで読み込み (全データが到着するのを待つ)、その中に " 200 " が
含まれていれば接続成功。

その後は SSL でやりとりする、という方法で一応接続はできています。

(" 200 " が含まれていれば OK などという適当な方法以外の) まっとうな
やり方は知りません

Prev< No. 2867〜2895> Next  [最新発言に戻る] [過去ログ一覧]