こんにちわ!このHPで最近勉強させてもらってます! ところで、FTPクライアントをC言語で書く予定は無いのでしょうか? 一応見よう見まねでこのHPのパールで書かれたソースから Cで書いてみたのですが、見事失敗! (具体的にいうと、getsocknameの使い方がmanでしらべても よくわからなかったのです(泣)できれば教えてください!) ですから、説明無しでもソースだけアップしてもらえたらな〜、 なんて自分勝手なことを思ってしまってます。(ごめんなさい) あるいは、CでかかれたFTPクライアントをアップしている HPがありましたら、ご紹介いただけると幸いです! |
こんにちわ、はじめましてあっちーといいます。 最近自分のパソコンにLinuxを入れました。 でもコマンドの使い方とか全然わかりません。 なんとxWindowを立ち上げてサウンドの設定までできましたが CD-ROMが外付けなためCDROMびアクセスできません。 CDプレイヤーを立ち上げるとerorrと出てきます。 mountの設定なのでしょうか? パソコンはSony VAIOでPCG505Sです。 CD-ROMはPCGA-CD5です。 いきなり掲示板に書いた内容がこんなですが もしよろしければどなたか教えてください。 これからLInuxとUnixの勉強を始めていきます。 よろしくお願いします。 |
Kaiさんゑ。 単にFTPが使いたい、てだけならば CPANに行けばPerl用のFTPモジュールが置いてあるなりョ。 |
> 具体的にいうと、getsocknameの使い方がmanでしらべても > よくわからなかったのです(泣) 僕も知りませんでしたが、昨日から調べていてやっとできました。 struct sockaddr_in local_socket; int len; long local_ip; len = sizeof(local_socket); if ( getsockname(socket,(struct sockaddr *)&local_socket,&len) < 0 ){ printf("getsockname failed.\n"); } local_ip = ntohl(local_socket.sin_addr.s_addr); printf("PORT %d,%d,%d,%d,%d,%d\n", (local_ip >> 24) & 0xff, (local_ip >> 16) & 0xff, (local_ip >> 8) & 0xff, (local_ip ) & 0xff, (ntohs(local_socket.sin_port) >> 8) & 0xff, (ntohs(local_socket.sin_port) ) & 0xff); # わかってから man を読むと、何が書いてあるか理解できるんだけどなぁ。 > あるいは、CでかかれたFTPクライアント FreeBSD あたりなら ftpコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/ftp/ fetchコマンド http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/usr.bin/fetch/ ftpライブラリ(fetchがリンクしている) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/ などなど。FreeBSD 以外の環境でコンパイルしようとすると 苦労するでしょうから、ソースを読むだけにしておくのがいいでしょう。 今回参考にしたのは (結果的には丸写しになってしまったけど) http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libftpio/ftpio.c?rev=1.33 です。 > CDプレイヤーを立ち上げるとerorrと出てきます。 > mountの設定なのでしょうか? mount は必要ないです。音楽CDを聞くには、 「CD-ROMドライブに何曲目を鳴らせ」 という指令を送るだけで、後は CD-ROM ドライブが勝手にやってくれます。 で、お使いのプレイヤーの -device とか -d とかのオプションで、 CD-ROM ドライブのデバイスを指定できませんか? # FreeBSD なら xcdplayer -device /dev/wcd0c とか # xcdplayer -device /dev/cd0c ですけど、Linux は知りません。 |
サンプルも作ってみました。anonymous ftp で、 ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/README.TXT を取得します。 http://X68000.startshop.co.jp/~68user/tmp/ftp-client.c レスポンスコードは見ていないし、バッファオーバーランはするし、 RFCに準拠していないし、ファイルがなかったらデッドロックするしで、 バグだらけですが、改造してみて下さい。 |
おお!どうもありがとうございます!>68user様&むちなちゅぼ〜様 早速これを参考に頑張ってみたいと思います!!! ほんとうにありがとうございます!!! |
あんまり意味のない話題なのですが、、、、 Linuxのペンギン と FreeBSDのマスコット? (http://www.freebsd.org/gifs/freebsd_1.gif の右側のキャラクター) どっちが好きですか? 僕はFreeBSDの方なんですが。 FreeBSDといいつつLinux使ってるんですけどねぇ〜<僕 RPMのデータベース(?)が壊れて強制再インストールという事故にあった事があるので 今度OS乗り換える時は、68userさんおすすめのFreeBSDにしようかと。 |
> FreeBSDのマスコット? でーもん君 (daemon) です。手に持ってるのが fork で (fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。 > どっちが好きですか? うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/ の でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で かわいくないし (ペンギンにも名前あるんでしたっけ?)。 > おすすめのFreeBSDにしようかと。 誤解のないように言っておきますが、Linux を使ったことは ありません。なので、Linux と比べて FreeBSD がよい、という わけではないです。 ただ、あんなにディストリビューションが乱立した状況は 混乱の元であると思ってますので (30個くらいありますよね)、 あまり人には勧めたくないです。そういう意味で、まわりの人には 「Linux は使ったことはないけど、一本化されている FreeBSD の 方がいいんじゃないの?」 と言ってます。 あと、NetBSD やら OpenBSD なんかを使ってみるのもいいかも しれませんね。そこらへんを問題なくインストールできるなら、 少なくとも中級者でしょうから。 例えば NetBSD-1.4.1 (最新リリース) では、ユーザを登録する コマンドが標準で入ってないので、/etc/mastep.passwd を いじって pwd_mkdb することになります。 # もちろん登録コマンドをインストールする手もあります。 |
FreeBSD上で、Treeコマンドを使いたいのだけけれど、 どうしたらよいのだろう。 もし、よろしかったら教えて頂けないでしょうか? m(_ _)m |
tree ってどんなコマンドですか? # もしかして DOS の tree? |
> > FreeBSDのマスコット? > でーもん君 (daemon) です。手に持ってるのが fork で > (fork(2) とかけている)、しっぽが (C言語の) ポインタだったかな。 意味があるのかぁ〜 ナルホドー > > どっちが好きですか? > うーん、描く人によりますねぇ。http://www.jp.NetBSD.org/ の > でーもん君は憎たらしいし、Kondara Linux のペンギンは挑発的で > かわいくないし (ペンギンにも名前あるんでしたっけ?)。 確かに。(^_^) > NetBSDのでーもん やはり、僕はFreeBSDのでーもんがいいなぁ。 ペンギンの名前は知らないです。 > > おすすめのFreeBSDにしようかと。 > 誤解のないように言っておきますが、 (中略) > Linux と比べて FreeBSD がよい、という > わけではないです。 それはわかってます。 はっきりいって、OS換えるといってもぜんぜん決めてないのです。 始めはSolarisなんかにしようかと思ってたんですがこれは有料だそうで、、、、 その時、UNIXの部屋の > FreeBSD に乗り換えてみませんか? ;-) を見てFreeBSDにしようかと(^_^;;) あと、FreeBSDのでーもん君も気に入ったでポイントプラス。 |
はじめまして。UNIXに関して(その他もですが)ほとんど知識の無い私はかなり参考にさせていただいています。ありがとうございます。 いきなりで申し訳ないのですが、CGIの環境変数HTTP_REFERER についてお聞きしたい事が有ります。 HTTP_REFERER を使って、前ページ判断をさせているのですが、値の入り方が不安定で、思うように処理を行わせる事が出来ません。 68userさんのページでHTTP_REFERER はブックマークやURLの手打ちでは値が入らないと書いてあり、なるほどと納得したのですが、同じようにブックマークから飛んできても、値が入っている時と入っていない時が有るようなのです。それって、サーバの設定に問題があるのでしょうか。 つたない文章で、言っている事が良くわからないかもしれませんが、何かアドバイスをいただきたいと思います。お願いします。 |
> 始めはSolarisなんかにしようかと思ってたんですが > これは有料だそうで、、、、 Free Solaris などもありますが、まぁ入手経費はかかりますね。 >> FreeBSD に乗り換えてみませんか? ;-) > を見てFreeBSDにしようかと(^_^;;) なるほど。ということでしたら、ぜひ使ってみて下さい。 > HTTP_REFERER この値はあまり信用できません。ユーザがある程度自由にいじれる、 ということもありますが、IE ではブックマークや URL 直打ちで 飛んできた場合も、前に読んでいたURL (全然関係ない URL) が REFERER に入っていることがあります。 # 最新版では直ってるかなぁ? ではなくて、同じブラウザで、同じページを読んでいて、同じページに ブックマークで飛んでも、値が入っているときがあったり、入っていない ときがあったり、なんでしょうか。もしそうなら ちょっとわからないので、 http://www.wakusei.ne.jp/twn/wwwlng.cgi などで質問してみて下さい。 |
アドバイスありがとうございます。 教えていただいたURLに行って、色々読んでみました。 結局、HTTP_REFERER ってあんまり信用しちゃいけないんですね。 その値を使って、ページを振り分けるなんてことはあんまりしない方が良さそうですね。 そういう処理しようと思っていたんですけど、やめておきます(笑) アドバイス、本当にありがとうございました。 |
はじめまして 最近Perlでのネットワークプログラミングの勉強はじめたばかり初心者です。 PORT コマンドで送るPORT 番号がわからずにYahooで検索しまして こちらのサイトを発見しました。なんとアッサリ解決。ありがとうございました。 もうひとつわからない点がありまして,よろしければご指導ください。 FTPのユーザー認証で,USERコマンドを username@SERVER のような形で 送信しなければならないFTPサーバーがありまして,これがどうもうまくいきません。 ためしに, $username ='username@ftp.server.com'; print SERVER "USER $username\n"; といった形で送ってみたのですがどうしても530 User unknownと言われてしまいます。 どうしたら良いのでしょうか? 関係ないですが,私のPC98にはデーモン君シールがぺたぺたと12枚も貼ってあります(笑) 今は,Solaris7をAT互換機にいれてるのですが,FreeBSDに比べてなんか動作が重いです。 こっちは,P3-500なんですが。 |
> FTPのユーザー認証で,USERコマンドを username@SERVER のような形で > 送信しなければならないFTPサーバーがありまして, 本当に「USER コマンド」ですか? USER anonymous (あるいは ftp) PASS username@SERVER ではないですか? (つまり anonymous FTP) > 今は,Solaris7をAT互換機にいれてるのですが,FreeBSDに比べてなんか > 動作が重いです。 重いってのもありますけど、gzip とか tar とか gmake とか gcc とか tcsh とかをインストールするのがめんどくさいので、あんまり好かんです。 # CDE も嫌。 僕は (gcc以外は) ソースからコンパイルしてますけど、 みなさんはバイナリインストールしてるんでしょうかね。 |
うぉ,レスめちゃ早です。 >本当に「USER コマンド」ですか? USERコマンドみたいです。どうやらWindowsNT Serverにログインするときに username@SERVERの形になってるみたいです。 ちなみにマイクロソフトのFTPサーバーにアノニログインしたときのログです。 長くて恐縮ですが。 LOCAL -> Socket Connected waiting for Login sequence. REMOTE -> - You can connect to a SERVER by `user' command: REMOTE -> - ftp> user username@SERVER REMOTE -> - or by `cd' command (after logged in as an anonymous user): REMOTE -> - ftp> cd //SERVER REMOTE -> - Cache is enabled by default and can be disabled by `cd .' (toggle) REMOTE -> - This (proxy) service is maintained by 'goiken@sic.shibaura-it.ac.jp' REMOTE -> -extended FTP [MODE XDC] REMOTE -> COMMAND -> USER anonymous@ftp.microsoft.com REMOTE -> -- USER for anonymous@ftp.microsoft.com. REMOTE -> - ftp Microsoft FTP Service (Version 4.0). REMOTE -> - Anonymous access allowed, send identity (e-mail name) as password. REMOTE -> -- @ @ REMOTE -> ( - )/ -- connected to `ftp.microsoft.com' COMMAND -> PASS ********** REMOTE -> -This is FTP.MICROSOFT.COM. Please see the REMOTE -> -dirmap.txt for more information. REMOTE -> Anonymous user logged in. COMMAND -> SYST REMOTE -> Windows_NT version 4.0 私の場合,Soralis2.6の時はGCC以外ほとんど自分でコンパイルしました。 今は,サーバーが5台もあってOSを入れ替える度にいちいちコンパイルするのが面倒なので 全てバイナリをインストールしてます。 日本サンユーザーグループが 毎年バイナリ&ソースのコレクションをリリースしてるんでこれを購入してます。 たしか5千円くらいで買えるんです。フリーソフトを集めただけにしては高い気がしますけど(苦笑) |
> うぉ,レスめちゃ早です。 やらなきゃいけないことがたくさんあるのに、 こーゆーことばかりしてるので、全然仕事が進みません(^^; > REMOTE -> - This (proxy) service is maintained by 'goiken@sic.shibaura-it.ac.jp' > REMOTE -> -extended FTP [MODE XDC] これって ftp proxy だからではありませんか? ftp.microsoft.com には USER=anonymous PASS=user@server でログインできました。 でも、それなら $username ='username@ftp.server.com' で うまくいくはずですが、想像するに接続するホストとポートが 間違ってはいませんか? ftp proxy がうちのまわりにないので試せないのですが、 もし public な ftp proxy サーバをご存知でしたら教えて下さい。 > たしか5千円くらいで買えるんです。 そうなんですか。それは知りませんでした。 > フリーソフトを集めただけにしては高い気がしますけど(苦笑) 確かに :-)。ftp で配布すればいいのにね〜。 ところで BSD MAGAZINE 創刊号はダメダメだったけど、 第2号はなかなか濃くていい感じです。でーもん君シールは かわいくないですけど(笑) |
なんどもすいません。 >これって ftp proxy だからではありませんか? proxy経由で繋いでいる下のログは,他のFTPクライアントのものでした。 しかし,マイクロソフトのFTPサーバーには,こちらで配布されているftptransを 使っても問題なくログインできました。 実はftptranを使ってログインできなかったのは,全く別の所だったのですが そこを例として出すわけにはいかなかったので確認せずに,Microsoft.comを 例として出してしまいました。NTだから同じかなと思ったんですが・・・ それで,NTサーバーでログインできない所を探してきました。 よろしければこれで確認していただければと思います。 hostname:ftp.theglobe.com Username:Otamesi1 Password:Otamesi ここには,フリーソフトのFTP Explorerというクライアントで ログインできましたが,こちらで配布されているスクリプトで 試したところUSERコマンドの所で,エラーとなってしまいます。 >でーもん君シールはかわいくないですけど(笑) うっ,でーもん君はお嫌いですの? 私は,2年くらい前に秋葉原のぷらっとホームって所で,でーもん君のワッペン?を買っちゃいました。 他に牛さんとかペンギンさんのがあった気がしますが,でーもん君が一番売れてるって店員が言ってました。 あの頃は毎日,環境をいぢってた気がします。FreeBSDを使って何かするというより FreeBSDで遊んでました。今使ってるWindowsマシンなんて壁紙すらないんですがねぇ(^^) |
> hostname:ftp.theglobe.com > Username:Otamesi1 > Password:Otamesi FTP Explorer をインストールして試してみましたが、 530 USER unknown でした。FreeBSD と Solaris の ftp でも同じです。 この Username と Password は確かに合ってますか? 誰かログインできました?>読んでる方 (ってどれくらいいるのかな) # Username: Otamesi なら password 入力までいくんですが。 > うっ,でーもん君はお嫌いですの? http://www.freebsdmall.com/ を見るに、上のでーもん君は嫌いですが、 背景のはアリだと思います。 自己分析するに、妙に立体感のあるアメコミチックな絵が嫌なのかな? |
はじめまして。perl初心者です。 こちらのperlのページ、とてもわかりやすいですね。 全部保存して勉強しています。 簡単な改造しかできませんが、 おかげさまで、やりやすくなりました。 どうもありがとうございました。 リンクさせていただいてもよろしいでしょうか? |
> リンクさせていただいてもよろしいでしょうか? どうぞ〜。扱いが簡単でメンテしやすいリンク方法を考えている最中なので、 逆リンクは張れませんが (3ヵ月近く悩んでます)。 |
>530 USER unknown でした。 う〜,すみません。 微妙にUsernameとPasswordを間違ってしまいました。 ヘボン式でした。『h』が抜けています。 正しくは↓こちらです。 hostname:ftp.theglobe.com Username:Otameshi1 Password:Otameshi |
「UNIX の部屋」を更新しました。 http://X68000.startshop.co.jp/~68user/unix/ この掲示板やメールで頂いたご意見 (.xsession/complete など) は 全て反映させたつもりですが、もしまだ書き変わっていないものが ありましたら ご指摘下さい m(_ _)m > ヘボン式でした。『h』が抜けています。 おお、ほんまや。FreeBSD の ftp ではログインできるけど、 ftptrans や telnet ftp.theglobe.com ftp ではうまくいかない。 なんでだろう。調べておきます。 |
はじめまして。メールは何度か送ったけれど、掲示板にカキコする のはこれが初めてです。 「UNIXの部屋」を見させていただきました。説明が詳しく、非常に 勉強になります。ありがとうございます。completeコマンドに 関してはこれからじっくりと見ていこうかなと思ってます。 あと、~/.xsessionについて。パーミッション変更に関しては % chmod +wx ~/.xsession ではなくて、 % chmod u+wx ~/.xsession とした方がいいのでは?「+wx」だとすべての人に編集を許可すること になり、危険だと思います。(ある日ログインしたらいきなりデスクトッ プが変わっていた!なんてことに...) |
> ftp.theglobe.com 改行コードが LF だったからでした。CRLF (\r\n) にしたらうまくいきます。 よく見れば RFC にも CRLF にするように書いてありますね(^^; 直しておきます。 > telnet ftp.theglobe.com ftp ではうまくいかない。 今手元に現物がないので確かめてませんが、うまくいかなかったのは telnetx だったからだと思います。素の telnet だと CRLF を送るようですね。 > % chmod u+wx ~/.xsession どもども>skeleton M. さん +wx という形式だと umask の値で修飾され、その結果が実際の パーミッションになります。なので、umask 0 にでもなって いない限り 777 にはなりません。 u+wx と書かなかった理由ですが、基本的に umask の値を尊重した方が よいのではないかいう考えからです。学校などでは、大抵 user=a990001, group=a99 で umask 22 でしょうけど、user=68user,group=68user という 1ユーザ=1グループのサイトでは umask 2 です (ソフトを共同開発するとき などはこっちの方が便利)。 なので、 - umask を正しく設定する - chmod は相対方式で。 - パーミッションを公に公開したい場合は明示的に a+rwx,777 などとする という考えから +wx としたのですが、いかがなもんでしょう。 # 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という # 考えもあるんでしょうね。どっちがいいのかな。 |
どうも、ご無沙汰しております>お師匠様 いやぁ、仕事が忙しくてなんともなりませんです、はい。 で、いつもいつも困ったときに助けていただいて恐縮なんですが、 FROMから、 $len=$ENV{'CONTENT_LENGTH'}; read(STDIN, $st, $len); と、STDINでとってきたデータに日本語が含まれていた場合 %なんちゃらで置き換えられてしまいますよね。 これを元の日本語に戻したいんですけど、なにかいい方法が ありませんでしょうか? 毎回毎回FORMに対応した変数をCGI(Perl)内で 定義するのではなく汎用のCGIを作りたいんです。 cgi-lib.plを使ってkeys関数でハッシュから取り出すと、 送られてきたデータの順番がぐちゃぐちゃになるのを なんとかできればそれでもいいんですけどね(笑) |
すんません、下の質問解決してしまいました。 もう一度駱駝本と鼠本を見直してたら、のってました。 そのものではないですけど・・・。 近況報告 ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑) |
> ここ数ヶ月SETI@homeで自宅のPCが24時間動きっぱなし(笑) RC5-64 と同じく seti も Mac (というかG4?) 陣営が 優勢なんでしょうか? うちのまわりの24時間稼働の マシンは 486DX2+Memory 8MB+NetBSD1.4.1 しかないので、 参加はとても厳しいです(^^; |
>改行コードが LF だったからでした。 なるほど,そういうことだったのですね。 全てをCRLFに修正したらうまくいくようになりました。 ありがとうございます。 で,こんなもんを作ってました。 あまり役にたたない物ですけどね(^^; http://disk.hypermart.net/fxp.cgi http://disk.hypermart.net/fxp.txt #ソース |
改行コードの話が出たので、ついでに書いてしまいます。 実は最近、掲示板を自作してみたのですが、改行をBRタグに 置換する部分があって、そこではCR+LF,LF,CRの3通りに 対応するようにしたのですが、CRはMacだから致し方ないとして、 LFは研究室のFreeBSDで試験できるから、ということで、 やってみたのですが、何とFreeBSDのNN4.7もCR+LFで フォームデータを送ってきたのでした。Lynxもそうだったし、 これじゃテストできないやん(^^; |
> http://disk.hypermart.net/fxp.txt #ソース ん〜、もっと OOP 的なサンプルプログラムを書くべきだったか…。 > 何とFreeBSDのNN4.7もCR+LFで NN/NC は UNIX 版でも CR+LF ですね。 > Lynxもそうだったし、 Lynx は LF じゃないですか? FreeBSD-2.2.7 の package から入れた Lynx-2.8rel.2、Solaris2.6 でコンパイルした Lynx-2.8rel.2 は 共に LF でした。 |
この掲示板の過去ログを検索できるようにしたかったのでしてみました。 でこれがそれを圧縮したやつ。 http://www.geocities.co.jp/SiliconValley-Bay/2916/68bbs.tar.gz 物好きな方はどうぞ。 前のFreeBSDの話>68userさん 今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。 FTPからダウンロードはとても(^_^; 明日から5日間スキーへ行ってきます〜 やや自慢;-) |
> この掲示板の過去ログを検索できるようにしたかったのでしてみました。 また物好きなことを :-) そのうち namazu で検索できるようにしておきます。 > 今度本屋へ行った時に、FreeBSD付の入門書買ってインストールしてみます。 書籍選びには http://www.jp.FreeBSD.org/CD-list/ も参考にしてみて下さい。 > 明日から5日間スキーへ行ってきます〜 骨を折らないように祈ってます ;-P |
>> Lynxもそうだったし、 > Lynx は LF じゃないですか? いや、確かに%0d%0aとなっていたから、CR+LFだと 思うんですけどね。もう一度確かめてみるとします。 |
lynx-2.8 のソースを流し読んだ限りでは、 <form method=post action=foo.cgi enctype="multipart/form-data"> などと enctype を設定しない限り LF になるような 気がするんですが、ただの気のせいかもしれません (^^; GridText.c の /* This is a continuation of a previous textarea * add %0a (\n) and the escaped string. */ あたり。 # と言いながら、テストするのに multipart/form-data なんて # 書かないだろうから、lynx のバージョンが違うというオチでは # ないかと予想しているんですが、どうでしょう。 |
>いや、確かに%0d%0aとなっていたから、CR+LFだと >思うんですけどね。もう一度確かめてみるとします。 間違いなくCR+LFでした。 ひょっとして、Tera Term(WindowsのTelnetみたいなもの) から起動した所為でしょうか?ktermからならLFになるのかも・・・ なお、Lynxのバージョンは >Lynx Version 2.8.2rel.1 (01 Jun 1999) >Built on freebsd3.2 Jul 6 1999 13:31:33 でした。 |
改行コードなんですが,家のSolarisから送信したら LinxはLFみたいですねぇ。 Linxのバージョンによって違うのかな? でもLinxから掲示板に投稿する人なんてあんまりいないような気が・・・・ >Yuukiさん 物好きなんで過去ログ頂きました。 もの好きというよりただの暇人かも(^^; なにか面白いネタを探してたりします。 |
学校のSolarisはLFでした。 |
まずは皆様、あけましておめでとうございます。 改行コードの話ですが、初心者向けのCGIの本には MacはCR、WINDOWSはCR+LF、UNIX(系)はLFとしているものが多いようですが 違うんでしょうか? むぅぅ、奥が深い・・・。 >SETIの話題 G4というより、PPCが強いです。 G4の速さの原因である、VelocityEnginにクライアントが対応していないため 現在はG3とG4での速度差はほとんどありませんです。 |
明けましておめでとうございます。 まだまだ素人の域から脱しられない者ですが、宜しくお願いします。 socketについても、全く知らなかったのですが、 「ネットワークプログラミングの基礎知識」では、とても良く分かりました。有り難うございます!! いきなり質問で申し訳ないのですが、 識者の方がいらっしゃいましたら、ご教示下されば幸いです。 HTTP_REFERERでは、呼出し元URLがセットされますが、 これ(Referer)を、返さない様にする方法ってあるのでしょうか? または、任意のURLをセットする等。 #そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? 宜しければ、お教え願えないでしょうか?よろしくお願いします<(__)> ----- ちなみに、<IMG・・>タグを取っ払って表示させるCGIを「ネットワークプログラミングの基礎知識」を参考に作ってみました。 が、SUBMITボタンがあるページで送信をクリックすると、(HTTP_REFERERをチェックしているCGIでは、)エラーで弾かれてしまうので、回避したいと思いました。 |
ども (。・_・。)ノ Gooで3DOのゲーム、スターコントロール2を検索して 過去ログに引っ掛かってきたものです( ;^^)ヘ.. ちなみにSEGABBSのVol.83の辺りです。 HPのトップを見てみるとUNIX関係の資料が… この頃Linuxに挑戦しているのですが、 なぜゲームの検索をしていてUnixにたどり着くのか(TT そんなに私に休まずにUnix系の勉強をシロというのだろうか(笑 まだLinuxのslackware3.6をインストールしただけですが、 ここのぺーじ等を参考に、ゆくゆくはサーバを立ててみたいと おもってます(いつになることやら ちなみにBBSを巡回する癖は無いので レス付けても返事無いかも(ぉぃぉぃ というわけで、またいつか書きこみに来るかも(^^; |
>HTTP_REFERERでは、呼出し元URLがセットされますが、 >これ(Referer)を、返さない様にする方法ってあるのでしょうか? 私はネットワークに詳しい訳ではないので、実際の動作だけを 申し上げますと、ブックマークからアクセスした場合や、URLを 直打ちした場合はHTTP-Refererがつかないようです。 Refererは呼び出したページを示すもので、上記のような ケースでは呼び出したページそのものが存在しませんからね。 実際、私のウェブページのアクセスログでは、Refererが ないのも多いです。 >#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? ブラウザが持つものはHTTP-User-Agentです。 #と、断言していいのかな…。 User-Agentを操作できるブラウザもあります。IEもその1つ らしいのですが、レジストリの操作が必要だとか言って、私には ちょっと分かりません。 もっとやり易いのはLynxですね。これには、Optionメニューの 中に堂々とUser-Agentを指定する項目があります。 |
>#そもそもHTTP_REFERER情報って、ブラウザが持っているのでしょうか? ブラウザがリンク元のページの情報としてReferer: ヘッダを送る訳ですから、 当然ブラウザが持ってます…というか、ブラウザがどのような Referer: ヘッダを送るか、または、送らないかを決めています。 User-Agent: ヘッダもそうですが、HTTPリクエストヘッダは、 クライアント、つまりここではブラウザ次第です。 |
あけましておめでとうございます! 今日やっと図書館が開いたので1999/12/24同様、そこのマシン からカキコしてます(笑)。 レスが遅れてすいません>68user様 >+wx という形式だと umask の値で修飾され、その結果が実際の >パーミッションになります。なので、umask 0 にでもなって >いない限り 777 にはなりません。 あわわ、知りませんでした。私の勉強不足です(汗) ># 「とはいえ、明示的に u+wx とか 755 と指定する癖を付けた方がよい」という ># 考えもあるんでしょうね。どっちがいいのかな。 +の前に何もつけなければ(つまり+wxみたいにすれば)umaskの値で修飾される ということを知らなかった私はいつもu+wxなどとしてましたけど。 あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを使うしかないのでしょうか? 教えていただければうれしいのですが。 |
UNIXのサブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクに コピーする方法は在りませんでしょうか,もしあったら教えて下さい。 |
>サブディレクトリ以下のファイルやディレクトリをすべて一回でフロッピーディスクにコピーする方法 http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#cp の -R オプションではいかがでしょう? |
goosan様、mm様、御回答ありがとうございました。 大変参考となりました!! 僕は、まだまだスキルは低いのですが、分かる事があれば、 答えたいと思っています。(give and takeの精神で(^-^)) 今後とも宜しくおねがします。 |
1月2日に帰ってたんですが、色々あって(疲れてて)遅くなりました。(^^;; FreeBSDの入門書を見に行くついでに プログラミングPerl改訂版 (http://www.oreilly.co.jp/BOOK/pperl.htm) を買おうと思ったのですが、始めてのPerl を買ってしまったようです:-) 著者にLarry Wallの名が無いのとラクダの絵が無いのでおかしいなとは思ってたのに そのままレジへ....(^^;; リファレンスの事とかモジュールの作り方とかが知りたかったのにのっていない:-) FreeBSDの方は FreeBSD徹底入門 (http://www.pro.or.jp/~fuji/computerbooks/unix-x/freebsd.asada.html) にしようかなと思います。まだ買ってない(^^; >68userさん >そのうち namazu で検索できるようにしておきます。 こりゃどうも、楽しみです。 >書籍選びには > http://www.jp.FreeBSD.org/CD-list/ > も参考にしてみて下さい。 参考にしまーす。 >荒木さん >物好きなんで過去ログ頂きました。 どうぞどうぞ。 でもあまり役に立たないかも.... >なにか面白いネタを探してたりします。 僕は、勉強がてらにPerlのモジュール とか作ろうかと。 …的外れなレスかもしれない。 |
帰省先からこんにちは。 > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを > 使うしかないのでしょうか? tcpdump の他にも sniffit や ethereal などがあります。 また、リクエストを表示するような簡単な http proxy を作って、 ローカルで動かしておいて、そこ経由(http://localhost:8080 とか) でブラウズするのもお手軽でしょう。 > サブディレクトリ以下のファイルやディレクトリを > すべて一回でフロッピーディスクにコピー cp -R でもいいですし、 cd target-dir; tar zcvf /floppy/archive.tgz . というのもあります。あと mtools を使う手も。 > FreeBSDの方は FreeBSD徹底入門にしようかなと それなりの本だとは思いますが、古い(2.2.1R)ので あまりお勧めはしません。 # 最近はインストール本を買ってないので、 # 何がよいのか知らないんですよね。 > そもそもHTTP_REFERER情報って、ブラウザが持っているの > でしょうか? CGI 側から参照できる環境変数で、頭に HTTP_ がつくものは 全てブラウザや proxy サーバが値を決めています。 |
>始めてのPerl を買ってしまったようです:-) Yuukiさん、僕の場合は、「初めてのPerl」を買いに行って、 「プログラミングPerl」しかなかったので、注文して 買いました。 僕のレベルに丁度マッチして、読み応え十分(笑) 未だにWINから脱する事ができないSAITOでした。 |
仕事中によくUNIXの部屋を利用させて頂いてます。 さっそく、教えて頂きたいのですが、 UNIXコマンドでユーザーID名とグループ名を変える事は出来ますか? よろしくお願いします。 |
> ユーザーID名とグループ名を変える root になって /etc/passwd あたりを編集します。FreeBSD なら vipw コマンドで書き換えればいいでしょう。group は /etc/group で。 |
どうも、skeleton_M.です。このホームページをいつも見させていただいてます。 > > あと、ブラウザが送るヘッダを全部見るにはtcpdumpなどを > > 使うしかないのでしょうか? > tcpdump の他にも sniffit や ethereal などがあります。 どうもありがとうございます。機会があれば試してみようと思います。 > また、リクエストを表示するような簡単な http proxy を作って、 > ローカルで動かしておいて、そこ経由(http://localhost:8080 とか) > でブラウズするのもお手軽でしょう。 うーん、私はまだそこまでできるレベルではありません(^^; 修行せねば |
Cシェルで多次元配列の記述方法があれば教えて下さい。(あるんですか?)(*_*)/ |
> うーん、私はまだそこまでできるレベルではありません(^^; port 8080 を bind するサーバプログラムを作って、 ブラウザの proxy を localhost:8080 に設定すれば、 リクエストを出すたびに GET http://foo/bar HTTP/1.0 ... というリクエストがくるので、それを (標準出力に) 表示すれば ブラウザのリクエスト内容がわかるでしょう。 リクエスト内容を表示するだけならそれで OK ですが、 それを他のホストに中継してやると proxy サーバのできあがり。 > Cシェルで多次元配列の記述方法 できないと思います。eval 使ったり小細工すれば無理ではないでしょうけど、 perl や awk でやる方が早いと思う。 |
UNIXでディレクトリやファイルをアーカイバして圧縮してFDに移してWindows98で展開することは出来るのですか。 tar(*.tar,*.tar.gz,*.tgz),LHA・LZH(*.lzh), ZIP(*.zip)形式のアーカイバ,gzip(*.gz)形式の圧縮,すべて出来るのですか。 またUNIXでWindows用の *.exe などのアプリケーションファイルをダウンロードしてFDに移してWindows98で実行することは出来ますか。 Windowsユーザーとのデータの交換の参考のために教えて下さい。 |
ただのファイル転送なので、全て可能です。アーカイブが読めるかどうかは Windows 側にその形式を扱えるアーカイバがあるかどうかですが、 tar/gzip/LHA/LZH/ZIP 全て揃っているでしょう。 それ以前に、質問に対する答えをもらったのに (ディレクトリ一括コピーの件)、 わかったのかわからなかったのか返答する気がないなら、最初から質問しないで下さい。 |
よく分かりました。ありがとうございました。 |
どうも、skeleton_M.です。 > port 8080 を bind するサーバプログラムを作って、 すでにこの時点でパニクってます(^^; 作り方が分からないし(参考になるページがあれば紹介していただけますか?)、 あと、作れる環境にあるかどうかも分かりません(大学の教育系ですからね)。 > ブラウザの proxy を localhost:8080 に設定すれば、 telnetでそのサーバーの8080にアクセスして…っていうのもアリですか? #私はtelnetやftpの使い方を立ち読みで知ったクチですので、的外れでしたら #ごめんなさい m(__)m HTTPの原理やプロトコルのヘッダ内容、HTTP_REFERなどの環境変数に関する説 明などについて書かれている書籍をご存じでしたら教えていただけますか?そ れを読んでからでないとせっかくのアドバイスが「ネコに小判」状態…(*_*) |
> それなりの本だとは思いますが、古い(2.2.1R)ので > あまりお勧めはしません。 本当だ、古いんですね。(^^;;; (http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/) 2.xより3.xのほうが新しいからいいのかぁ、、、 うーん。:-) どのバージョンがおすすめですか、、?、、とか聞いてるより こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね? |
下の投稿に間違いがありました:-) > どのバージョンがおすすめですか、、?、、とか聞いてるより > こう悩んでるよりとっとと本買ってインストールしてみたほうがいいですよね? は > どのバージョンがおすすめですか、、?、、とか聞いてるより > とっとと本買ってインストールしてみたほうがいいですよね? です。すみません。 |
久しぶりにFreeBSDの公式サイトを覗いて見ました。3.X系も3.4Rまで出てたんですねぇ。 でも私,2.xと3.xの違いがあまりわかってません(^^;) 3.0からDOSのFat32がマウントできるようになったくらいしか知らない。 情報古すぎ?? ISOイメージでのリリースも行われるようになったとは。回線の早い人には便利ですね。 それから海外のPerlに関するサイトもウロチョロしてきました。 なんとPerl2exeなんていうWin32のバイナリトランサーがあるんですね。 うれしくなって,いろいろ変換してみました。 ここで公開されているものなどは問題なく動作しました。 こうなるとPerlでGUIなんてのも考えてしまいます。 暇つぶしにPerl/Tkでも勉強してみようかな(^o^) |
以下のようなスクリプトをローカルで実行して、ブラウザの proxy を localhost:8080 にすれば、リクエスト内容だけは見られるということです。 ちゃんとリクエストを中継し、返ってくるデータをブラウザに 受け渡すようにすれば、簡易 proxy サーバになります。 # 数行の追加でできるでしょう。 #!/usr/local/bin/perl use Socket; $port = 8080; socket(CLIENT_WAITING,PF_INET,SOCK_STREAM,0) || die; setsockopt(CLIENT_WAITING,SOL_SOCKET,SO_REUSEADDR,1) || die; bind(CLIENT_WAITING,sockaddr_in($port,INADDR_ANY)) || die; listen(CLIENT_WAITING,SOMAXCONN) || die; while (1){ accept(CLIENT,CLIENT_WAITING); while (<CLIENT>){ s/[\r\n]+$//; print "$_\n"; if ( $_ eq "" ){ last } } close(CLIENT); } > 参考になるページがあれば紹介していただけますか? こちらなど :-) http://X68000.startshop.co.jp/~68user/net/ > 暇つぶしにPerl/Tkでも勉強してみようかな(^o^) - 意外と細かい設定ができない - ちょっと重い (perl/Tk で3Dエンジン作ろうとするのが間違ってるんですけど) - (最新版は) 日本語が出ないのが厳しい - みんな Qt や Gtk に行っちゃって、ドキュメントやノウハウが入手しにくい というのが僕の感想です。簡単な GUI インタフェースを作るくらいなら 結構使えるんですがねぇ。 > 3.0からDOSのFat32がマウントできるようになったくらいしか知らない。 カーネルまわりは大きな変更がありましたが、ユーザランドでは あまり違いはないです。僕のようなライトユーザには、最新の ports/packages が使えるというくらいしか、直接的なメリットは ないですかね。 > どのバージョンがおすすめですか、、? ただ機能云々より、例えば ML で質問しても、2.2.1 のような古い バージョンだと使用している人が少ないので、回答がもらいにくい というデメリットがあります。 でもまぁ、3.1/3.2/3.3 がついてくるインストール本を買って、 UNIX USER 付録の CD-ROM から 3.4R を入れても構わないと思います。 |
どうも、skeleton_M.です。 スクリプトのサンプルを見せてくれてありがとうございます > 68user様 FreeBSD(98)の「非公式」ページから、リンクを辿って http://www.jp.freebsd.org/ にアクセスしたときのリクエスト内容を見ることができました\(^^)/ 以下のようになりましたです: GET http://www.jp.freebsd.org/ HTTP/1.0 Referer: http://www.nisoc.or.jp/~karl/freebsd-pc98/ Proxy-Connection: Keep-Alive User-Agent: Mozilla/4.03 [en] (X11; I; SunOS 5.6 sun4u) Host: www.jp.freebsd.org Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: ja Accept-Charset: iso-8859-1,*,utf-8 どうもありがとうございました。perlは全く知らないので、これから勉強 しようかなと思ってます。 ではでは(^^)/~~~ |
テステス。半角カナとか、cookie とか、cache とか・Last-Modified ヘッダなどに対応。 絶対バグはあるはず。 |