毒電波をびびび †

自分のWebサイトから毒電波をびびびっと送信したいぜ!な方用。
SSTPの仕様についてはこちらをどうぞ

Perl編 †

  1. このコードをメモ帳にコピペしてSSTP.cgiとか名前つけてサーバーに上げる。
  2. パーミッションはたぶん701くらいで動くと思う。
  3. このCGIにブラウザでアクセスする。
    1. 受信側のルータの9801or9821ポートが開放されていて
    2. 受信側のファイヤーウォールのポートも開放されていて
    3. 受信側のSSPなどのSSTPクライアントが起動していて
    4. 受信側のそのSSPなどのSSTPクライアントの設定が合っていて
    5. 尚且つ、このCGIスクリプトがエラーを500エラーを吐かなければ
  4. SSTPが送信される。ハズ。
#!/usr/bin/perl
# !/usr/local/bin/perlの場合もあるよ!

#	送信内容
$request = 'COMMUNICATE SSTP/1.1'
."\r\n"
.'Sender: カードキャプター'
."\r\n"
.'Sentence: 今日は寒いなー。'
."\r\n"
.'Option: substitute'
."\r\n"
.'Charset: Shift_JIS'
."\r\n"
."\r\n";
#	かなり泥臭い設定。joinしろよと(ry

print "Content-type: text/plain\n\n";

#	「何か」の存在チェック&SSTP-Scriptデータの送信
$port_number = '9801';
$check_nanika = &sstp_send($request,$port_number);
if (!$check_nanika) {
	$port_number = '9821';
	$check_nanika = &sstp_send($request,$port_number);
}


exit;

# ----------------------------------------
# ■以下、サブルーチン


# ▼TCPポート処理 (C)黒衣氏
#	戻り値:SSTPサーバーからのリザルト
#	$send='送信内容' $port='出力port'
#	$addr='送出先アドレス' $proto='使用プロトコル' $ent='ネットワークアドレス'
sub sstp_send {

	use Socket;
	my ($send, $port, $addr, $proto, $ent, $result) = @_;

	# タイムアウト予約
	$SIG{'ALRM'} = sub {$resp='408 Request Timeout'."\r\n"."\r\n";};
	alarm 1;

	# 送信先IPアドレスの取得
	$addr = $ENV{'HTTP_X_FORWARDED_FOR'};
	if (index($addr,'.') == -1 ) {
		$addr = $ENV{'REMOTE_ADDR'};
	}
	print 'IP: '.$addr."\r\n";
	print 'Port: '.$port."\r\n";
	print "\r\n";

	# プロトコル名の取得
	$proto = getprotobyname('tcp');

	# ポートに接続
	if (! socket(S, &PF_INET, &SOCK_STREAM, $proto)) {
#		$resp = 'TCPポート処理','指定されたソケットがOPENできません'."\r\n";
	}

	# ネットワークアドレスの取得
	$ent = sockaddr_in($port, inet_aton($addr));
	# print 'NetworkAddress: '.$ent."\r\n";

	# 接続開始
	if (connect(S, $ent)) {
		select(S);
		$| = 1;
		select(STDOUT);

	# SSTP送信
		print S $send;

		$result = <S>;
		close(S);

	}else{
#		$resp = ''."\r\n";
	}

	print '===== send ====='."\r\n";
	print $send;

	# タイムアウト初期化
	alarm 0;

	$resp ||= $result;
	print '===== response ====='."\r\n";
	print $resp;

	return($result);
}

コメント場所 &dagger;

  • 何か一言どうぞ。 -- レゴキチ 2010-04-04 (日) 23:53:29
  • レンタルサーバーだとポート開けてくれないのよね。デモページとか見たいかも。 -- Don? 2010-04-05 (月) 00:04:46
  • 口調とかが変わるのが最大の問題かな?プロパティみたいなの送ってゴースト側で反応できたら面白いかも -- Wiz★ 2010-04-05 (月) 05:16:59
  • 送信側はポートの設定いらない気がするけど。 -- レゴキチ 2010-04-05 (月) 10:44:41
  • COMMUNICATE SSTP/1.1ならコミュ呼びかけなので口調の心配することもないよ! -- レゴキチ 2010-04-05 (月) 10:48:00
  • デモページは5月までお待ちください、というのも現在うちの鯖が電源落ちていて、物理的に離れた場所にあるので。 -- レゴキチ 2010-04-05 (月) 19:55:53
  • おお、いいなこれ。COMMUNICATEって書いてあった。こみゅにするのもいいけど、独自イベントみたいになげてもいいかもしれませんね。何のサイトか、拾ってゴーストが説明できるとか。 -- Wiz★ 2010-04-10 (土) 17:55:49


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-04-10 (土) 17:55:51 (3389d)