• ベストアンサー

Cコンソールアプリ3

yymmddhhmmss.txt(例.060125162541.txt)という形式のテキストファイルが 実行ファイルの直下の「txt」フォルダにたくさんあり、 txtファイルには下記のように情報があります。 172.20.1.31,2879,207.46.248.109,80 ...GET /cgi-bin/~ref+ HTTP/1.1..Accept: */*..Referer: http:w ww.j-motto.info/~.html...Accept-Langua: ja..Accept-Encording: gzip, de flate..User-Agent: Mozila/4.00 (compatible~NT5.0)..Host: ad.jp.ap.vali ecommerce~......... 1行目には「自IP」「自ポート」「相手IP」「相手ポート」がカンマ区切りで、 下の行にはパケット情報が書き込まれています。 YYYYMMDDの形で日付入力を待ち、それに該当する日付のファイルがあれば読み込んで、 (06/01/25) [Get]  /cgi-bin//cgi-bin/~ref+ HTTP/1.1   [Referer]  http:www.j-motto.info/~.html [User-Agent]  Mozila/4.00 (compatible~NT5.0) [Host]  ad.jp.ap.valiecommerce~ のように表示させたいのです。 fscanf()等で読み込んで範囲を指定して一部だけを 表示させることは可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

1.ファイルのリストを作る 2.日付を入力させる 3.リストから一致するものを探す 4.そのファイルの内容を表示 という流れになりましょうか。 すべてのファイルで一行目の構造が同じなら、一行目をfgets()するなりして、strtok()で切り出すと良いかもしれません。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

fscanfのみで部分部分を読み込むのは困難ではないかと思います。 strstrなど、キーとなるワードを検索して、自分で切り出すような処理になると思いますが、 そうしたマッチング処理は、正規表現が扱える言語(例えば、Perl)を使うと楽できます。 標準ライブラリでは、ありませんが、Cでも扱える正規表現ライブラリ (GNU regex.c とか)もあるので、そういうものの利用も考えると良いかも知れません

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • フォームメールから本文なしのメールが届く

    メールフォームから時々以下のような本文なしのメールが届きます。 これはなんでしょうか? 2012-09-05 08:20:35 HOST NAME / IP ADDRESS / 188.143.232.211 USER AGENT / Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) HTTP REFERER / メールフォームは以下のCGIを使っています。 http://www.synck.com/contents/download/cgi-perl/mailform.html

    • ベストアンサー
    • CGI
  • squid の設定で IP を隠したい

    現在、TurboLinux6.0でsquidを使ってプロキシサーバーを動かしています。 http://www.taruo.net/e/?TARGET= のようなサイトで調べてみると下記のように情報 が出てしまいます。 REMOTE_HOST 202.****.***.210  REMOTE_ADDR 202.***.***.210  HTTP_REFERER (none)  HTTP_USER_AGENT . Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90) HTTP_ACCEPT . application/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, */* HTTP_ACCEPT_LANGUAGE . ja HTTP_HOST . www.taruo.net その他の情報 HTTP_X_FORWARDED_FOR . unknown HTTP_VIA . 1.0 proxy.yuntaku.com:730 (Squid/2.4.STABLE1) HTTP_CONNECTION . keep-alive  HTTP_CACHE_CONTROL . max-age=259200 掲示板などに接続もとがでるものがありますよね。それに書き込むとIPが書かれてし まいます。 これを何とか隠したい(又は別の名前にしたい)のですが、何か方法は無いのでしょ うか?

  • c:\Buffers.datのファイルについて

    先ほど、このファイルの存在に気がつき、テキストエディタで開いてみると、 SEND:Bytes:1451 Port:80 E01996D2 GET /VL/Trace?c=1&tp=1&p= HTTP/1.1 Accept: */* Referer: http://oshiete1.goo.ne.jp/oshiete_new.php3?c=684 Accept-Language: ja Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: log000.goo.ne.jp Connection: Keep-Alive Cookie: vlid_1=120:1098799980_tgCjwjvJ_1110895380; vlsession_1=1; NGUserID=a01012b-24741-1100316445-1; NGFrequencies=gef267f19baee9353202373e9e31dbd3ag67c05dfedafd569eca550ca59b08e3c8gd446158ebe4d13728ba04422d0cb5d26; BBTracking=61.86.42.46.123201101206991853; のような、ホームページのアクセス記録や、MSNメッセンジャーのログみたいなのが記録されていて、リアルタイムに内容が更新されています。 今まで、こんなファイルがあったようには思いませんし、ファイルサイズもどんどん肥大化しています。 削除しても、また作成されます。 タスクマネージャーにも怪しいアプリは起動してなさそうですし、セーフモードでは書き込みがありませんでした。(ネットワーク使わない設定だったからかも?) ウィルスソフトは、ウィルスセキュリティを使ってますが、信用してないので、ウィルスバスターオンラインスキャンで試しましたが、スパイウェアやウィルス等見つかりませんでした。 気味が悪いのでどなたか、原因の分かる方はいらっしゃらないでしょうか。。。。

  • モジュールを使ってリクエストヘッダーの表示をさせたい

    宜しくお願いします。 ウェブサーバーにリクエストを送った際、 リクエストヘッダ レスポンスヘッダとあると思うんですけど、 レスポンスヘッダは下記の形で表示できるのですが、 リクエストの際のヘッダ情報(HOST:やReferer:など)を表示させる事ができません。 どなたか、モジュールを使った形でリクエストヘッダを表示させるプログラム記述をご教授願えませんでしょうか。 ※下記は実際にテストを行っているリクエストヘッダとレスポンスヘッダとソースを表示する記述例です。(レスポンスヘッダは正常に表示できているとおもうのですが・・。) #!/usr/bin/perl use HTTP::Request::Common qw(POST GET); use LWP::UserAgent; use HTTP::Cookies; my $ua = LWP::UserAgent->new; my $req = $ua->request(HTTP::Request->new(GET => "http://localhost/")); print "Content-type: text/html\n\n"; print $req3->headers_as_string([$endl]);#これを追加し表示される情報はリファレンスっぽくなってしまうのと、 #リクエストヘッダのHOST:やReferer:UserAgentなどの情報が入ってないので、 #モジュールを利用してリクエストヘッダを表示させてみたいです。 print $req->as_string; リクエストヘッダーのイメージは下記のような情報だと思うのですが、モジュールを使って表示させる事はできないでしょうか どなた様かご教授の程宜しくお願い致します。 HTTP/1.1 Accept: */* Referer: http://okwave.jp/search.php3 Accept-Language: ja User-Agent: Mozilla/4.0 (compatible ; MSIE 6.0; Windows NT 5.0) Host: okwave.jp Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=Shift_JIS

    • ベストアンサー
    • Perl
  • 400 Bad Syntaxって何ですか?

    先ほどから見られないページがあって困っています。教えてください。 ----------------- 400 Bad Syntax The request appears to be improperly formatted. Found error in this section of the request: GET /Info/concept.html HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */* ~~~~~~~: ~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Accept-Language: ja ~~~~~~~~~~~~~~~: ~~~~~ ~~~~~~~ User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) Host: XXX.XX.co.jp Connection: Keep-Alive と出ているのですが、これはいったいどういう意味なんでしょうか?また、回避方法はどうすればいいのでしょう・・・。

  • HTTP POST送信のヘッダの書き方

    http://appsv.ocrgrid.org/cgi-bin/weocr/nhocr.cgiに対して、 ファイルを送信してレスポンスを得たいのですがうまくいきません。 ヘッダの書き方が悪いのかデータの送り方に問題があるのか 文字コードの問題かいづれかの原因だと推測して色々試してみたの ですが正解が見つけられません。 お解りになる方ご教授いただけませんでしょうか? ■詳細 画像から一行の文字を解析表示するCGIで クライアント側には、日本語プログラム言語なでしこを利用して ファイル送信しています。 下記にサンプルコードとレスポンスヘッダを載せています。 ■プログラムの説明 テンポラリーフォルダにWEB上に用意されているサンプル画像 をダウンロードして、「あれ」と言う名前の変数にその画像 ファイルの内用を代入しています。 送信ヘッダとボディーデータを対象のCGIに先ほど取得した画像 データと保存先のファイル名を埋め込みポストしています。 #ここからサンプルプログラム サンプル画像先からHTTPデータ取得をファイル名に保存 あれにファイル名を読む 「User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; msn OptimizedIE8;JAJP) Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language:ja-JP Accept-Charset:Shift_JIS,utf-8;q=0.7,*;q=0.7 Referer:http://appsv.ocrgrid.org/nhocr/index-j.html Accept-Encoding:gzip,deflate Host:appsv.ocrgrid.org Connection:keep-alive Cache-Control:no-cache Content-Type:multipart/form-data;boundary=---------------------------7d925e1a230364」と、 「-----------------------------7d925e1a230364 Content-Disposition:form-data;name="userfile";filename="{ファイル名}" Content-Type:image/png {(あれ)}」を"http://appsv.ocrgrid.org/cgi-bin/weocr/nhocr.cgi"へHTTPポスト。 それをSJIS変換でメモ記入 ●サンプル画像先~「http://appsv.ocrgrid.org/nhocr/hello.png」で戻る。 ●ファイル名~「{テンポラリフォルダ}{サンプル画像からURLファイル名抽出}」で戻る。 #サンプルここまで /*■処理結果レスポンスの内用 HTTP/1.1 200 OK Date: Thu, 24 Sep 2009 07:09:53 GMT Server: Apache/2 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain ; charset=utf-8 1e File transmission has failed. 0 レスポンス内用ここまで*/

  • $_SERVER['HTTP_USER_AGENT'] で取得できる値の読み方

     PHPに限った話でもないんですが・・・。  $_SERVER['HTTP_USER_AGENT'] で取得できる値の読み方を教えてください。 IE Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) NN Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) Opera Opera/9.01 (Windows NT 5.1; U; ja)  compatibleとか、Gecko/20030624とか、それぞれ、どのような意味を持っているのでしょうか?

    • ベストアンサー
    • PHP
  • WWW::Mechanizeがプロシキ経由になってしまう

    WWW::Mechanizeを使って診断君にアクセスすると判定結果が「判定:プロクシです proxy判定箇所が 1箇所、疑惑点が 2箇所ありました。」と出てしまうのですが #$mech->proxy('http', $proxy);の部分をコメントにしているのにどうしてでしょうか? 何方か教えてもらえませんか? ___________________ #!/usr/bin/perl use lib "lib"; use LWP::UserAgent; use WWW::Mechanize; $proxy = "http://xxxx.xxxx.jp:80"; $site = "http://www.taruo.net/e/"; my $mech = WWW::Mechanize->new(); #$mech->proxy('http', $proxy); $mech->add_header( Referer => 'http://www.yahoo.co.jp', Proxy-Connection => 'Keep-Alive', Connection => 'Keep-Alive', USER_AGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)', ACCEPT => 'image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,image/pnp,*/*', ACCEPT-CHARSET => 'iso-8859-1,*,utf-8', ACCEPT_LANGUAGE => 'ja', ACCEPT_ENCODING => 'gzip,deflate', Content-Type => 'application/x-www-form-urlencoded', Content-Length => '100', HOST => 'www.taruo.net', HTTP_CONNECTION => 'Keep-Alive', ); $mech->post("$site"); $html = $mech->content; print "Content-type: text/html;\n\n"; print<<endend; $html endend exit;

    • ベストアンサー
    • Perl
  • ブラウザ毎に外部CSSファイルでデザイン変更したい

    CGIソースファイル http://www.loplopland.com/test/newfile.html このCGIでインターネットエクスプローラーだけ別の外部CSSファイルでデザイン変更したいんですが、どのようにしたらいいでしょうか? 別のところで $ua = $ENV{'HTTP_USER_AGENT'}; if (index($ua, "compatible; MSIE") >= 0) { $stylebase = "stylebase_IE.css"; } else { $stylebase = "stylebase.css"; } を入れたらいいと言われたんですが、どこにどう入れたらいいかいまいちわかりませんでした。

  • php.ini の Environment について

    Fedora Core環境にてPHPv4.3.10の設定を行っています。 phpinfo()にて「Environment」という項目があるかと思うのですが、 この[HTTP_HOST]や[HTTP_REFERER]がWebminのアドレスになってしまっています。 [SCRIPT_FILENAME]は /usr/libexec/webmin/apache/restart.cgi と表示されています。 この表示は回避することは出来ますでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • EP-808AWの黒インクを交換した後、印刷がかすれる現象が起きることがあります。この問題の原因は何でしょうか?さらに、同じ症状が繰り返される場合、プリンターの不具合が考えられます。修理する際の費用についてもお知りになりたいです。
  • EP-808AWの黒インクを交換すると、印刷がかすれることがあります。5枚ほど同じものを印刷すると、徐々に黒インクの色が反映される現象が起きます。原因がインクの問題ではない場合、プリンター自体に不具合がある可能性があります。修理するにはどれくらいの費用がかかるのでしょうか?
  • EP-808AWの黒インクを交換した後に印刷すると、最初はかすれて印刷されますが、徐々に黒インクが反映されていく現象が起きます。インクを何本か交換しても同様の問題が続く場合、プリンター本体の故障が考えられます。修理の費用や、同等品をお勧めしていただけると助かります。
回答を見る