|
>>3936 一人 こんな感じでどうですか? ------ awk 'BEGIN { FS=","; dummy=""; } { if ( $1 != dummy ) { if ( NR > 1 ) printf "\n"; printf "%s,%s",$1,$3; dummy=$1 } else { printf ",%s",$3 } } END { printf "\n"; }' infile ------ >>3939 カトウ pattern='.*error.*worning.*' では駄目ですか? |
|
>>3940 zsh ありがとうございます。 上手くいきました。 こんな簡単な方法でできるのですね。 考えすぎですね。 |
|
>>3935 TSURU > sendmail を久しぶりにコンパイルしようとしたのですが、以下のような > メッセージが大量に出力されてしまい、コンパイルできません。 http://mm.apache.or.jp/pipermail/apache98-99/1999-August/001431.html のスレッドを参考にしてください。 gcc をインストールしなおさないといけないのか、PATH の設定次第で何とか なるものなのかはわかりません。 > コンパイラが古いとコンパイルできなくなるということはあるのでしょうか? あります。しかし今回は環境の問題でしょう。 >>3939 カトウ > message=`echo $line | sed -n /$pattern/p` 質問内容とは関係ありませんが、$line にワイルドカードなどが入っていると シェルが展開してしまうので、ログ内容をシェル変数に格納するやり方はお勧め しません。 |
|
始めまして、こんにちは。 UNIX講習を受けてから5年以上も経つのに、ほとんど初心者です。 基本的な質問ですみません。 tar xvf *.tar で展開して、ファイル情報を表示させたとき、 その内容をファイルに落とすにはどうしたらいいでしょうか? この展開ですべてのファイルがきちんと展開されたか確認したいのです。 (実は1つだけ展開されていない・・・) 本当に、基本的な質問ですみません。 よろしくお願いいたします。 |
|
初めまして。ポチ公と申します。 ネットワークの勉強中ですがちょっと質問があります。 今、httpの仕組みを勉強中でこちらのサイトにたどり着きました。 以下のページで公開されているtcpdump-filter.plで ttp://x68000.q-e-d.net/~68user/net/tcpdump.html 書かれていたとおりに実行して 見事パケットが整形されて表示されました。 以下のようなコマンドです。 tcpdump -l -s 1600 -x -i lo0 | tcpdump-filter.pl | grep http >> packet.txt xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap, xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap, xxx.com/ HTTP/1.0 Accept: image/gif, image/x-xbitmap, zation Required ... それで思ったのですが、どうもログを見ると 先頭の3行くらいが全て省略されているようでした。 環境はredhat9/perl5.8です。 何故、先頭の数文字が省略されているのが 疑問でしたので、投稿してみました。 もし何か解りましたら教えて頂けたら幸いです。 宜しくお願いします。 |
|
>>3943 初心者? > tar xvf *.tar > で展開して、ファイル情報を表示させたとき、 > その内容をファイルに落とすにはどうしたらいいでしょうか? tar xvf *.tar > out.txt 2>&1 (sh・bash の場合) tar xvf *.tar >& out.txt (csh・tcsh の場合) とします。ただ、 > この展開ですべてのファイルがきちんと展開されたか確認したいのです。 という目的であれば、 - v オプションをつけない。これで何か出力されれば それはエラーメッセージのはず。 - tar のステータスコード ($? や $status) を確認。 エラーが発生しているならステータスコードが 1 以上のはず。 という手もあります。 >>3944 ポチ公 > それで思ったのですが、どうもログを見ると > 先頭の3行くらいが全て省略されているようでした。 すいません、ちょっと時間と気力不足により、スクリプトの 確認は後日行います。申し訳ないです。 もし正しい出力がほしいなら、tcpdump の -X オプションを 使うとか (Ethernet フレームまで出力されてしまいますが)、 ethereal や ethereal に付属する CUI の tethereal の使用を 検討してみてください。 |
|
「ネットワークプログラミングの基礎知識」の「リンク集・参考書籍」に OpenSSL - 暗号・PKI・SSL/TLS ライブラリの詳細 を追加しました。 http://X68000.q-e-d.net/~68user/net/link-book.html#4274065731 去年頃から、OpenSSL に一番詳しい日本語の解説を書くことを 目指してがんばってきましたが、夢破れました。この本がもっと 前に出ていれば、あんなことやこんなことで悩む必要はなかった のに、と理不尽な怒りすら覚えます。 今後は OpenSSL に一番詳しい日本語のサイトを目指すことにします。 |
|
お初です。 最近このHPにも大変お世話になってます。 組み込みLinuxでクレジットカードリーダーを試作することになり、 PPPでインターネット経由でサーバと通信するって感じです。 手順その他は私に任せられてたので、独自のプロトコルを考えるのが 面倒だし、ゆくゆくはセキュリティーも対策しないといけないので サーバ側をApache+modsslを使うことにしたのですが、このサイトの情報が 非常に参考になりました。クライアントソフトを解説してあるサイトは 非常に少ないので、大変助かります。 SSLサーバ認証なしで、実験ソフトが動作するところまでは行きました!! でも私のカードを使ってインターネット経由ってのは、まだ怖いので、 クライアント認証に挑戦したいと思います。 そんな記事を書かれるご予定はありませんか?(^^; (クライアント側でクライアントの証明書をリストに追加するだけの ような気がしてますが・・・) これからもがんばってください。 |
|
>>3947 だんだん 書く気はありますが、もし書く場合は「クライアント認証とは何か」 から始めるつもりなので、いつ書きあがるかは何ともいえません。 要は SSL_CTX_use_certificate_chain_file() などを使ってクライ アント証明書を使えばいいわけですが、詳しいやり方は >>3946 68user の本に書いてあります。 また、概念からして怪しい場合は、 - 自前で CA (認証局) をたてる - クライアントが CSR (証明書発行要求) を作成する - それを受けて CA が証明書を発行する - IE などのブラウザに証明書を組み込む としてまず理解を深めることをお勧めします (ここらへんの手順は 検索すればたくさん見つかります)。 |
|
はじめまして。 UNIX の部屋 -> コマンド -> cpp にて、 型の別名の定義方法で typedef MYCHAR_P char *; が正しいと紹介されていますが、これは typedef char *MYCHAR_P; の間違いではないでしょうか? |
|
>>3949 T.Kobayashi > typedef char *MYCHAR_P; > の間違いではないでしょうか? ごもっともであります。修正しました。 http://X68000.q-e-d.net/~68user/unix/pickup?cpp ご指摘ありがとうございました。 |
|
はじめまして。 いつもコマンドの参考にさせて貰っております。 説明している数や例がわかりやすくて重宝してます。 大した事ではありませんが、気になった部分を2点ほど ■いずれも【TOP >> UNIX の部屋 >> ジャンル別コマンド一覧 >> vi】にて 1.「h 1文字左に移動」がリストからはみ出ています。 2.「編集モード中に"ESC"」=「編集モードに移行」 であれば、リストに入れてはいかがでしょうか。 リストにあれば、閲覧2度目以降の人はそれだけ参考にすればよいので見やすいかと。 (個人的にですが) |
|
はじめまして。 ソケット通信について教えてください。 Severプログラムでクライアントから ConnectしてきたクライアントがClose処理を行ったかわかりますでしょうか? Connect時は、接続元のIPアドレス・ポートがわかると思いますが クライアントがCloseを行ったかどうかを知りたいのですが? よろしく御願いいたします。 |
|
>>3951 ほんたか ご意見ありがとうございます。 > 1.「h 1文字左に移動」がリストからはみ出ています。 これは HTML 生成スクリプトの不具合で、認識しているの ですが、美しい直し方はないかなぁと考えているところです。 いましばらくお待ちください。 > 2.「編集モード中に"ESC"」=「編集モードに移行」 > であれば、リストに入れてはいかがでしょうか。 ごもっともです。そのように修正しました。 http://X68000.q-e-d.net/~68user/unix/pickup?vi >>3952 shima > ConnectしてきたクライアントがClose処理を行ったかわかりますでしょうか? 簡単に言うと (shutdown の存在を除外して言うと)、サーバが read してクライアントから 0 か SIGPIPE が返ってこれば、 クライアントが close を行ったか、クライアントプログラムが 終了した (close or exit or core dump) ということです。 ただしクライアントのマシンが落ちたり、ネットワークケーブルが 切断された場合は… read が ETIMEOUT を返すんでしたっけ? この辺 あやふやなので、間違ってたらご指摘ください>誰となく |
|
初めまして、 ここのサイトの主旨にあった質問かどうかわからないのですが、 質問させて頂きます。 今、開発作業を以下の構成で実施しているのですが、 Webサーバ:Netscape-Enterprise/3.6 SP3 ブラウザ:Internet Explorer 5.5 SP2 Internet Explorer 6.0 言語:Server Side JavaScript(Livewire) ※サーバ側で動作するJavaScript言語です。 正常にHTML画面が表示されているのに、 パケットの最後に、"400 Bad Request"が入ってしまい、 次の画面で、 "あなたのブラウザがサーバに送ったリクエストはサーバが理解できないリクエストです" のエラー画面が表示されてしまいます。 この現象は必ず発生するわけではなく、 2人のひとが同時に同じ作業をした場合にも、 片方の人は発生し、もう片方の人には発生しないことがあります。 (パケットの例) : </HTML> HTTP/1.1 400 Bad Request Server: Netscape-Enterprise/3.6 SP3 ............ ただ、この問題は Netscape Navigater Ver7.1 では発生せず、 また IE の設定を、 「HTTP 1.1を使用する」 → 「HTTP 1.1を使用しない」 に変更するとこちらも問題が発生しなくなります。 そして、telnet を使用しリクエストした場合には、 必ずこの形(Bad Request)で出力されています。 プロトコルかNetscapeサーバが原因と考えているのですが、 うまく問題を切り分けることができません。 わかるかたがいましたら、すみませんがご教授願います。 |
|
> 3948 . 68user > 要は SSL_CTX_use_certificate_chain_file() などを使ってクライ > アント証明書を使えばいいわけですが、詳しいやり方は あっさり動作しました。 ご指摘ありがとうございます。 |
|
>>3954 則巻せんべい そういう事象は知らないので何とも言えませんが、とりあえず ethereal などで IE5.5 と NN7.1 のそれぞれのリクエストと レスポンスを観察してみることをお勧めします。 |
|
お久しぶりです。 その節はお世話になりました。 現在、再びSSLの改造に着手しています。 OpenSSLを使用してクライアントからサーバに HTTP KEEP ALIVE(パーシステントコネクション)を行いたいのですが、 上手く行きません。 HTTPリクエスト時に Getで最初と異なるHTMLファイルを指定し、 Connection: Keep-Alive を要求した後に、 SSL_read()をしても異なるHTMLファイル を読み込む事ができません。 ちなみに、平文のhttpでは読み込む事が出来たのですが、 この辺りの情報が皆無に近くて苦労しています。 OpenSSLの場合は何か特別な事を行なわないと実装できないのでしょうか? 参考URLや書籍など、ご存知な方が居られましたら ご教授下さい。 |
|
>>3957 ニッタン > OpenSSLの場合は何か特別な事を行なわないと実装できないのでしょうか? 特にないと思っています。 https://www.rsasecurity.com/ と https://www.rsasecurity.com/solutionsPrimary.asp を keep-alive で読むサンプルを http://x68000.q-e-d.net/~68user/tmp/https-client-keep-alive.c に置きました。 このサンプルではレスポンスに </html> が含まれていればレスポンスの 受信が完了したものとみなして次のリクエストを送信する、という手抜き処理を していますが、本来は Content-Length の値などを見るべきです。 |
|
バンガードです。 以下の機能の実現方法が分からず困っています。 --------- rep_file ------------ $SERVER1 $SERVER2 $SERVER3 ------------------------------- 上記のファイルが存在する状態で、以下の定義を行います。 ------------------------------- SERVER1="server01" SERVER2="server02" SERVER3="server03" ------------------------------- この状態で、rep_fileを読み込み各行が表す変数の中身(server01,server02,server03) を表示させたい。 以下のスクリプトを組んで見ましたが、 -------------------------------- while read REP do echo \$$REP done < $REP_LIST -------------------------------- 結果は以下の通りでした。 -------------------------------- $SERVER1 $SERVER2 $SERVER3 -------------------------------- 環境はAIX5.2です。 出来れば、kshで実現したいと考えています。 |
|
>>3959 バンガード > echo \$$REP eval "echo $REP" としてみてください。 |
|
>>3960 68user >eval "echo $REP" としてみてください。 うまく行きました。 ありがとうございました。 |
|
はじめまして。最近Unix系OSをいじりはじめたものです。 このサイトのおかげですごい助かってるぜーと隣の人間に話していたら、 そういうのは掲示板に書き込んだほうが管理者の人が元気になるよー、と 教えてもらったので、感謝報告書き込みさせてください。 これからもリファレンスのお世話になりそうなのでまた利用させて下さい。 お邪魔しましたm(__)m |
|
>>3956 68user ご指摘、ありがとうございます。 教授の内容を試行させて頂きます。 |
|
初めまして。 最近C言語でCGIプログラミングを始めました。 そこで、crypt関数によるMD5暗号化を行う(掲示板のため、所謂トリップのため)ことにしたのですが、 #include <stdio.h> #include <unistd.h> int main(void) { char *salt = "Salt"; char *pass = "pass"; printf("Content-type:text/html\n\n"); crypt_set_format("des"); printf("DES: %s\n", crypt(pass, salt)); crypt_set_format("md5"); printf("MD5: %s\n", crypt(pass, salt)); crypt_set_format("blf"); printf("Blowfish: %s\n", crypt(pass, salt)); return 0; } というソースを見つけたので、動作確認のためgcc3.2、Kernel2.6.5のFedoraCore2ディストリ環境でコンパイルしてみました。 しかし、[-lcrypt]オプションを指定しても解決していない旨のエラーメッセージが表示され、コンパイルできません。 配布も予定しているものなので、httpdを直接書き換える設定は不可能なので、どのようにMD5に指定したらよいか、何方かご教授をお願いします。 |
|
>>3962 タコ見習 ありがとうございます。間違いやわかりにくい表現などありましたら、 ぜひご指摘ください。 >>3964 侍刀 > というソースを見つけたので、動作確認のためgcc3.2、 > Kernel2.6.5のFedoraCore2ディストリ環境でコンパイル > してみました。 http://www.jp.freebsd.org/QandA/HTML/1944.html でしょうか。 この crypt(3) の動作を切り替える仕組みは、わたしの知る限り FreeBSD のみに実装されています。Linux にこういう仕組みがあるかどうかはわかり ません (もしあったとしてもインタフェースは異なる可能性が高いと思われます)。 OpenSSL 必須でよいなら、EVP_Digest* などの仕組みを使うのがよいでしょう。 それがダメなら、*BSD や RFC1321 のソースを同梱して配布することをお勧め します (md5 のソースはそれほど長くないので)。 |
|
>>3965 68user あ、あらららら・・・・・・・そうだったんですか・・・・・ Linux互換じゃないとは知りませんでした・・・・・・ では、RFC1321のソースでも探して見ます・・・・ |
|
HP-UX11.00なのですが、telnetやrlogin、remshなどで、リモートログイン してくるあるユーザ(一般ユーザ)をログインできないようアクセスの拒否 をしたいのですが、実現可能なのでしょうか。 状況としては、UNIX同士、PCからUNIXとあり、同一LAN上にあります。 ftpのアクセス拒否と同じように定義ファイルがあり、ユーザ名を記述 すればアクセス拒否ができるのかと調べてはみたのですが、該当する ようなファイルはなく、実際にはどうなのでしょうか。 |
|
>>3967 でぶ > telnetやrlogin、remshなどで、リモートログインしてくるある > ユーザ(一般ユーザ)をログインできないようアクセスの拒否 > をしたい 以下のような案でどうでしょうか。 - telnetd や remshd を止める (全ユーザが利用不可) - そのユーザのパスワードやログインシェルを変更する (su にも有効。実装によるかもしれないが ftp が使えなくなるかも) - .login や .profile に logout と書いておく (タイミングよく Ctrl-c を押せばよいので気休め程度。su には効かない) |