【野鳥の会】 BBS.2ch.net 全発言統計の巻 part4
■ このスレッドは過去ログ倉庫に格納されています
2ちゃんねるの全発言の統計を取ろうに挑戦
bbs.cgi に一個DNS問い合わせの処理を追加
発言バイト数.スレッドkey.板.サーバ.CGI名.BBS.2ch.net をlook up
この方法でやるとかなり低コストで出来る予感。
すずめ (板別発言数統計) http://stats.2ch.net/suzume.cgi
からす (サーバー別発言数統計) http://stats.2ch.net/karasu.cgi
からす2 (鯖グループ別発言数統計) http://stats.2ch.net/karasu2.cgi
すずめ、からすはURLをcgi->cgi?yesterdayとすることで前日のデータを閲覧できます。
とんび (1時間単位板別発言数統計) http://stats.2ch.net/tonbi.cgi
・とんびのログっぽいの http://stats.2ch.net/kawasemi-h/
・とんびのログ分刻み版 http://stats.2ch.net/kawasemi-m/
・とんび2 (1時間単位板別バイト数統計) http://stats.2ch.net/tonbi2.cgi
つばめ (分単位多数発言スレッド統計) http://stats.2ch.net/tubame.cgi
つばめ (ex8専用) http://stats.2ch.net/tubame2.cgi
2ch一日全発言統計一覧
http://stats.2ch.net/kawasemi-d/2ch.txt
前スレまでの規制のまとめ
とかげの尻尾
極短時間に多くのスレを立てたり、レスをつけたりすると
●、★の有無に関わらず2時間の間、qb5以外の読み書きが規制されます。
読もうとすると http://qb6.2ch.net/403/ に飛ばされます。
記者、スレ立て代行さんは要注意。
現在のこの件での規制対象は http://qb6.2ch.net/403/c403.cgi で確認できます。
●を併用してもBBQチェック済みの串を使って書けないようになりました。
p2に関する質問や議論はソフトウェア板のp2スレでどうぞ。
現状もそちらでまとめられています。
p2+●に関する規制議論はこちらです。
http://qb5.2ch.net/test/read.cgi/sec2chd/1097492197/
過去スレ
part1 http://qb5.2ch.net/test/read.cgi/operate/1083526243/
part2 http://qb5.2ch.net/test/read.cgi/operate/1097666632/
part3 http://qb5.2ch.net/test/read.cgi/operate/1097821787/ _ ∩
( ゚∀゚)彡 FOX★!FOX★!
⊂彡 つまりwebからdenyリスト作る仕掛けが
バグって誰もアクセスできないリスト作って
自動配布したせいで
みんなエラー→リトライで過負荷
が今回の顛末?
root▲が「今回のは俺のせいじゃない」
っつーてるし
>>764
青春のいいところは、やりなおしが効くってことなんではないかと。
というわけでしくみそのものは悪くないわけで、またぼちぼちと。 >>767
はいはい
BBS 側は再稼動させておいていただけると、、、
おっ いやっ しないでもいいかな?
このまま 遠い世界へと。 >>769
遠い世界はいやんなので、再稼動します。
まぁ、何かあったらまたいつもどおり、一緒にイベントを楽しむということで。 その先を止めてあるので
多分なにも起きないと思うです。
その先のプログラムを鍛錬すれば
今回のようなことは起きないはずでーす 再稼動しました。
しばらくようすをみるとゆうことで。 甲) 2ちゃんねる各サーバ(60台くらい?)
↓a) 投稿ごとに BBS.2ch.net に通知
乙)BBS.2ch.net ここでいろいろ集計
↓b) おっ 攻撃だ! qb6 に通知
丙)qb6.2ch.net 攻撃者リストメンテ部
↓c) deny リスト作ったわん。全サーバに配信、配信。
丁) 2ちゃんねる各サーバ(59台くらい?) deny from で撃退
a) か b) で何か混入したのか
乙) が誤動作して b) にゴミ入れたのか、
どっちかわからないけど。 丙) の吐き出した大根は腐っていた。
root ★さんは、 b) をとめて、丁を手動で配って直した。
その後 私が c) をとめたんで、b) を動かしてくださいー
とお願いした。 お互いに愛をはぐくんだ >>773-774
>>759みたいな話もあるので、ホスト名になにかしらマズイ文字列を
仕込んでおいてわざとバーボンハウスに入る→ノーチェックでdeny
リスト行き→今年の大根は豊作だねぇ〜 ホスト名は表示CGIがDNS逆引きで拾ってるだけじゃないの? root ★さんに質問ですー
BBS.2ch.net の DNS が look up されたら
トカゲにデータが渡されるという仕組みですが
どうやってやるんですかー?
立ち上げっぱなしで、どんどん stdin にぶち込んで
stdout はあるファイルへ出力というようにトカゲを起動する方法でーす。 一手目としては、丙) でゴミは極力排除し
c) に変なのが流れないようにしてみた(まだ cは停止中です)
http://qb6.2ch.net/_403/c403.cg
ここを観察中。。。 >>780
ん、今のトカゲって、そうなってませんでしたっけ。
というか、今のトカゲの起動方法から何か変えたい、っていうことなのかしら。 >>785
なってます なってます
私もお勉強したいなと
教えてくれよー(簡単に言えばクレクレ君です) あぁ、どうやって実現しているか、ってことですか。>>787
そんなに面倒なことはしてないです。別途ここに簡単にまとめを。 というわけで、かんたんに。
query を受け、その結果をDNSサーバ(tinydns)が、stdoutに吐きます。
通常だとtinydnsの場合、daemontools経由でmultilogというプログラムにパイプされて、
システムログとしてとられてゆくわけですが、
ここで簡単なプログラムを間にはさんで、トカゲプログラムにも出力を横流しするようにしています。
トカゲプログラムをそのままの形で起動するとユーザの権限が変わってしまうので、
setuidgidを使って、トカゲのユーザID/グループIDで起動するように設定してあります。
より具体的には、daemontoolsのlog/runを、
#!/bin/sh
exec setuidgid dnslog multilog t ./main
とかから、
exec 横取りプログラム
とかに変更して、
横取りプログラムの子供としてトカゲプログラム(トカゲユーザの権限)と
従来のmultilog(ログをとるユーザの権限)を呼ぶようにしていると。 もうちょっとくわしくいうと、実際には、
#!/bin/sh
exec 横取りプログラム setuidgid dnslog multilog t ./main
のように、引数を伴っています。
で、横取りプログラムは自分の引数をそのままの形で、自分の子供として起動します。
こうやっておくと、multilog側の設定を後で変えるときに便利です。
あとは、横取りプログラム側で今のBBSだと「トカゲ」と「投稿数統計」の2つのプログラムを呼んでいます。
これは、BBX/Rock54をやった時の、
未承諾広告※さんのアイディアとプログラムをほぼそのままいただいているものです。 http://qb6.2ch.net/_403/c403.cgi
今のところゴミの混入はないなぁ、
混入が無いと言うよりも、混入してもすぐつまみ出している
というのが正しいんだが、 >>789>>791
ども参考になります。
もうちょっと頑張ってみます。 で、そのままだと子供側は入力待ちで呼ばれっぱなしな状態になるので、
プログラムを更新した場合には、手でkillしてやる必要があるですね。
例の、なんちゃらreset.sh ってのがそれです。
>>794
なかのひとがんがれ。 まったく関係ないけど、右だけ母乳?が出るのに気付きました。22歳男 >>796
液体が出るなら病院ゴー、クリームっぽいなら問題ない 完全に液体。中に汗腺でもあるのかしらんが透明なのが少量ながらかなりの勢いで出た。 父乳… いやだなぁ
つうか「ふにゅう」なのか「ちちちち」なのか 昔わしもねばーとした無色透明の液体が乳から出たことがあるよ
味はしょっぱかった&喉にイガイガ感。乳を強く摘めば出る人もいるんじゃないかな。 >>800
出始めの頃の乳は汚れ(雑菌)が混じっているから
飲みたいのなら2〜3回位搾り出してからにするべし ガンバレ!!!
成功したらAMDをあげますだ。 亀ですが
>>728
United Statesだから「合州国」でも間違いじゃないですよ
#そういう表現を頑固に使ってる学者さんもいます
スレ違いだけど言いたかったんだよヽ(`Д´)ノウワーン http://yy12.kakiko.com/test/read.cgi/emg2ch/1099578258/
437 マァヴ ★ 04/11/04 23:51:37 ID:???
直接原因は判明したっぽいです(^_^;)
順次回復していくと思われ・・・・
ただ、なんでこうなっちゃったかはまだ不明
http://qb5.2ch.net/test/read.cgi/operate/1097921896/
481 マァヴ ★ 04/11/04 23:53:24 ID:???
>468
.htaccessが壊れた(^_^;)らしい
776 FOX ★ sage ! 04/11/05 15:16:03 ID:???
甲) 2ちゃんねる各サーバ(60台くらい?)
↓a) 投稿ごとに BBS.2ch.net に通知
乙)BBS.2ch.net ここでいろいろ集計
↓b) おっ 攻撃だ! qb6 に通知
丙)qb6.2ch.net 攻撃者リストメンテ部
↓c) deny リスト作ったわん。全サーバに配信、配信。
丁) 2ちゃんねる各サーバ(59台くらい?) deny from で撃退
a) か b) で何か混入したのか
乙) が誤動作して b) にゴミ入れたのか、
どっちかわからないけど。 丙) の吐き出した大根は腐っていた。
root ★さんは、 b) をとめて、丁を手動で配って直した。
その後 私が c) をとめたんで、b) を動かしてくださいー
とお願いした。 お互いに愛をはぐくんだ >>773-774 バーボン動いてる鯖にテスト用のディレクトリ掘って
まずそこに.htaccess配布して500でなかったら実際に配布するようにすりゃいいんじゃねーの スレ違いだとは思いますがー
>665 で調整できる設定は、
1.全鯖統一
2.各鯖個別対応可
3.各板個別対応可
のいずれになるんでしょうか? バーボンハウスに飛ばされた人の書き込み制限時間を
24時間ぐらいに出来ませんかね。
「なんだ、2時間我慢すればいいのか」みたいな風潮になってきていますし。 >>822
こういう人もいるので、あれかと・・・
http://qb5.2ch.net/test/read.cgi/sec2chd/1096375714/339
普段の規制でもそうだけど、。・゚・(ノД`)・゚・。ってなるのは巻き添え食う人
常に暇を持て余している荒らしにはそれほど効力ないんだよね。。。
でもやらないよりはやった方がはるかにマシだから継続するしかない。 >>823
イマドキ、ローカルIPなケーブルTVって・・・(汗 とオモタ
もうすでに、カナーリ特殊事例なんじゃないかと思うよ >>822
負荷的には2時間で大丈夫そうだから、このままでしょ。
荒らしなんて本当はスルーで対応が基本であって、いろいろ規制するのは
鯖への影響を重視してやってるのがほとんどだし。 >824
意味不明ですが、
何をして特殊事例と言ってるの?
CATVのグローバルIPはサイト運営を前提としてるので
別途月数千円単位の金がかかる。
ネット利用の仕方によってはグローバルIPが必要ない場合もあり、
わざわざ金払ってグローバルIPをとる人のほうが奇特。
つーか利用の仕方はその人の勝手。 それでは人ごと規制でなくIPごと規制なのも
2chの中の人の勝手ということで もちろん。
てゆーか普通に巻き添え食うだろ。当然。
ただし、けっして特殊な状況などではない。 独占状態の昔ならいざ知らず、いまだにプライベートIPを割り振ってる業者もあるんだねえ
ADSLとの激しい競争でとっくに絶滅したかと思ってたよ
殿様商売ってのは結構なもんですな >826
デフォでローカルIPしか付与していない業者が未だに存在しているのを
非常に不思議に思っております。
(生存競争的にね。そういう業者はADSL等へ客を奪われる昨今ですから。)
ローカルIPを付与する業者→絶滅寸前で残り極少数→特殊事例
という趣旨です。
また、光接続やADSL、ダイアルアップを含めた全利用者を母数とすると、
ローカルIPのCATVユーザという極少数の「特殊事例」に配慮せんがために
大多数が不便になるというのには反対です。
漏れも、2chの利用を重視した上で接続ISPを選択してますから、そういう
利用者側のアプローチが重要ではないでしょうか。 >>831
不思議=特殊事例ということでしょうか。 つーか、大手CATV業者のサービス内容を覗いてみたけど、
・J-COM(70万:加入世帯) ・ZAQ(30万)
・iTSCOM(8.5万) ・Cable@nifty(不明、10万程度?)
このあたりの業者は全部グローバルIPだなあ
J-COMとZAQだけで全CATVインターネット利用者の約半分だし
いい統計が無いんでわからんけど、もはやプライベートIPの方が少数派かと
「少数派だからって無視すんなよ」というご意見は引き続きどうぞ CAの話の大元は>822-823というわけでぃすが
まぁここのスレか忘れたけど完全なシステムなんつーのは無理無茶な話なんだし、巻き添え食うのはグローバルIPだろうがローカルIPだろうが同じ
人数が違うだけで
しかし現状で特に大きな問題がないシステムの設定をわざわざ変える必要もないんじゃ
風潮がどうしたって話デスシ うちのISP
いまだにローカルで運用ですよ
GWで変換くさい・・・ 同じやつやろ。
1 222.147.199.19 (p4019-ipad34sizuokaden.shizuoka.ocn.ne.jp) 91
2 221.189.238.59 (p1059-ipad31sizuokaden.shizuoka.ocn.ne.jp) 71
3 219.162.201.110 (p2110-ipad02atuta2.shizuoka.ocn.ne.jp) 40
4 220.98.164.44 (p7044-ipad26sapodori.hokkaido.ocn.ne.jp) 16
5 222.147.199.50 (p4050-ipad34sizuokaden.shizuoka.ocn.ne.jp) 3
何故北海道が混じってるのかね?
ダイアルアップ?ああ、そうか。。。 最近、荒らしたちが学習したみたいで・・・
「同じ内容のレスを大量に貼るとバーボン送り」
を逆手にとって
「違う内容のレス」を貼るようにしてるみたいです。
↑虐殺AAネタコピペや意味不明なレスのコピペを混ぜる
FOX★さん、気が乗らないとは思いますが、いい対策を期待しています。 >>840
コピペ連投は別の話ですよ。
IPで規制される事もあればコピペ内容で規制される事も。
バーボンは同一IPからある一定時間にある一定数以上のスレ立てor書き込みで
自動発生する規制です。
なので、逆手に取られているのは>>838の様な繋ぎ直しなんだよなぁ。
それぞれレス内容まで見て、あんまり酷いようなら規制されるんだろうけど。 また規制された…勘弁して欲しい。
scnなんだけどもううんざりだ。他のに変えようかな。
>>833
そうだね。何で早く導入しないのか。
アメリカ辺りがアドレスを独占してて儲けるために反対してるんじゃないかと陰謀説を唱えてみる v6導入したってレガシーシステムは残るわけだし
v4網から見ればv4IPにv6IPがパックされてるだけ
たぶん個々のPCにv6をふってGWがv4アドレスに直してレガシー網に流す感じ
鯖とDNSがv6を認識しないと意味がない とかげ(バーボンハウス?)って Deny リストのために動的に .htaccess を
変更してるんでしょうか? 直接 .htaccess を変更するよりは,
Deny リストを別ファイルにした方が安全かとは思いますが......
mod_authz_iplist http://203.205.158.160/jikken/mod_authz_iplist.c
なら,Deny リストを別ファイルとして扱えます.使用法は
<Files bbs.cgi>
AuthzIPList Black /path/to/blacklist
</Files>
のような感じで.ついでに,mod_authz_iplist ならファイル変更がない限り
リストをメモリ上に保持し続けるので,毎回読み込む .htaccess での
Deny の羅列よりパフォーマンス面でも有利かと思います. >>847
これって、bbs.cgi のリミッターに使えるかも。 >>848
>bbs.cgi のリミッター
というのは,bbs.cgi のプロセス数を制限するということでしょうか?
mod_authz_iplist では,規制リストは各 httpd プロセス単位で保持している
(共有メモリは使用していない)ので,全体で bbs.cgi がいくつ立ち上がって
いるかはこのモジュールでは把握できませんね.
今ある仕組みを使うのなら,read.cgi を fork() させない(mod_cgidso を使う)
ようにすれば,RLimitNPROC の指定がほぼそのまま bbs.cgi プロセス数の制限に
なるのではないかと思いますけど. >>849
そですね。モジュールだけではむりぽかと。
RLimitNPROCでリミッターに激しくぶつかると、どうもシステム的にうまくないみたいなんですよ。
さて、どうしたものか。 質問でーす
現 stats.2ch.net はDNSクエリに対して非同期(よんだらすぐリターン)になっていますが
これを同期にするのってのは難しいんですか?
1) サーバの設定 (集計プログラムの呼び出し方等)
2) リターン値の返し方 (集計プログラムからどういう経路で呼び出し元へ返すの?)
なんてとこが知りたかったりします。 同期というか、1 query受信したごとに、
その都度指定したプログラムを呼び出すようにしたいとかいうことですかね。 >>852 は、簡単にできます。
ちょっと負荷上がりますが。 呼び出したいというよりは
「値を返したい」が目的だったりします。
呼び出し元に何か返したいとしたら、
簡単にやるならプログラムのexit codeでやるのが楽かと。
つまり、>>853 の手法で子供のプログラムを呼び出す時にその終了を待つようにして、
呼び出し元プログラムで何かすると。
shell scriptなら、./log/run をたぶんこんなかんじにすればいいかなと。
while read $line; do
echo $line | multilog -t ./main
echo $line | 処理プログラム
if [ $? -eq 0 ]; then
処理プログラムの戻り値が0だったときの処理
else
それ以外の時の処理
fi
done こうやっておくと、
DNSクエリがない間は、readのところで入力を待っています。 ふむふむ
1) 呼び出されるプログラムは exit(????); で通知する。
2) exit のコードを貰って、呼び出し側はDNS look upの返り値に整形して
大本の呼び出し側(bbs.cgi)に返すと
仕組みは理解したはずー
>>857
1)はそれでよいです。
3)はひょっとして gethostbyname()したおおもとのプログラムに返す値を、
exit()の結果に応じてダイナミックに変えたいといっています?
今のしくみだと、前と同じものをもう1回聞かれた時に違う値を返す、
ってのはできますが(BBX/Rock54で採用)、
一発目の応答を変えるってのは、今の仕組みではちょっと難しいかも。 そうなんです
【bbs.cgi】 -DNS look up-> 【DNS server】 -処理呼び出し-> 【集計プログラム】
↓
処理&リターン値(数値)
↓
5454545454 <- 【23.23.23.23形式に変換】 <-exitで通知- 【5454545454】
こんな事を考えているです。
つまり 【23.23.23.23形式に変換】 このあたりが複雑ということですか? ■ このスレッドは過去ログ倉庫に格納されています