僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
見た。
SERVER 200.232.182.186 - - [27/Feb/2005:21:55:57 +0900] \ "POST /admin.php?op=AddAuthor&add_aid=kiegera&add_name=Goda\ &add_pwd=playboya&add_email=r00t_System@hush.com&add_radminsuper=1\ &admin=eCcgVU5JT04gU0VMRUNUIDEvKjox HTTP/1.0" 404 472
ふと、これを書いているクライアントのapacheログ( 昨日の難解バカボン のためにapacheを起動させていた)を見ると、こんなの。
$ tail $ACCESS_LOG 210.95.76.130 - - [26/Feb/2005:02:43:42 +0900] "GET /default.ida?\ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801\ %u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090\ %u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a \ HTTP/1.0" 404 271
一時パニックになりかけた(NAPTの中のクライアントに、どうやって
アクセスして来た?)が、ふと考え直す。
昨日(というより、感覚的には一昨日に近い)メールサーバをいらった時、
AirHを使ってLANの外に出ていなかったっけ?LANの外からLANの外への
メール中継がうまくいったどうか(Digest-MD5で認証する)確認して
いる最中だったような気が。でテストメールの Recievedをめくる。
やれやれ、油断大敵。喉元を過ぎる前にクライアントにもiptablesを
かけておいた。
当該IPをつつく。↑に感染した事でも分かる通り、よくある放置鯖 と見られた。Pingは通ってもDNS引けなかったし。
アクセスが来るかわからないもんだ...
"GET /css/top.css HTTP/1.1" 200 618 "http://18.41.138.210.xn.2iij.net/" \ "Mozilla/5.0 (Windows; U; Windows NT 5.1 ; ja-JP; rv:1.7.5) \ Gecko/20041217"
失敗した後もう一度やったら、今度はうまくいった。
おや、カスタムカーネルのmakeが止まった。えーと、ScreenLockで ろぐたどってと、使わないかもしれない umass あたりでコケてる。 "- Requires scbus and da" おっと、SCSI使わないから全部無効、は 間違いだったか。再度 make。今度はOKだった。buildworld がうまくいけば いいが。
$ ls -l /boot/kernel/kernel /boot/kernel.GENERIC/kernel -r-xr-xr-x 1 root wheel 5828063 Feb 26 22:18 /boot/kernel.GENERIC/kernel -r-xr-xr-x 1 root wheel 3565317 Feb 27 14:35 /boot/kernel/kernel
を/cgi-bin/だけでなく、日記ページで /POST|GET/ しようとする香具師までいる。 此奴等も晒さねば。とスクリプトをごにょごにょ。
NetBSD3.0でも簡単に音が鳴っていた。
qvwmを入れて気付く。
pkgsrcよりxmmsとmpg123を放りこむ。/usr/pkgsrc/multimediaの下とばかり
思って長いこと探していた。実際は(考えれば当り前だが)
/usr/pkgsrc/audioの下だった。
noteからnfsして色々鳴らす。
ようやく実機で確認。
$ grep -v ^# /etc/ttys|head console "/usr/libexec/getty Pc" vt100 on secure ttyE0 "/usr/libexec/getty Pc" vt220 off secure ttyE1 "/usr/libexec/getty Pc" vt220 on secure ttyE2 "/usr/libexec/getty Pc" vt220 on secure ttyE3 "/usr/libexec/getty Pc" vt220 on secure tty00 "/usr/libexec/getty std.9600" vt100 on secure (ry
今日中にもう一発。
ノートに入れたnetatalkは、MacOS9で動くことを確認しているが、
MacOSXでやったかどうか覚えてない。
「システム環境設定」アプレットの「ネットワーク」アイコンをクリックし、
AppleTalk」タブで、「AppleTalk使用」にチェックする。そして
サーバ接続(Command + k)でafp://$REMOTE_HOST/する。認証は
リモートのユーザとパスワードでいけた(チェックしなくても
同じなのか!?)。適当に作っておいた日本語のファイルはUTF-8のようだ。
sambaでアクセスしても同じに見えた。
しかし、MacOS9.2でアクセスすると、当然の如く文字化け化けだった。
また、ファイル名は半角31文字が限界(suffix含む)。
今日がもうじき終るので、ここまで。
IPSec で、AirHなノートとxDSLなHost(いずれもFreeBSD)でIPSecを試す。
一応繋がると分った。
トンネリングモードはどうするんだ。keyのconfigを、s/transport/tunnel/した だけでは、どうもダメっぽい。
ちなみに、この方法は共有鍵を全く変えずに通信している模様である。
だから、とっととIKEにしろってば。
を追記して、FreeBSD-6.2のカーネルをビルドしなおす。
効果の程や如何に。
google検索(ssh バージョン表示 FreeBSD)
FreeBSDでssh(1)のバージョンを表示する方法が知りたいの?
[user@host ~]$ ssh -V OpenSSH_4.5p1 FreeBSD-20061110, OpenSSL 0.9.7e-p1 25 Oct 2004
/usr/src/crypto/openssh/version.h を見てもいいかも。
脇見しながら
昨日のNoteに60GBのHDDをつけてみた。注意力散漫で、ちょっとヤバかったりする。
しかし無事認識したようだ。
3ComのPCMCIA(Model 3CCFEFE575BT)だとインストーラの起動中に止まったので、
Xircom(X3201)に変えた(dc0)。
例のとおりftpサイトから頂戴して、大体問題なく終わったようだ。
sshだけ開けて、リモートログイン、早速RELENG_6_3をcsup(インストールイメージは
bootonlyで6.2だ。さていつまで使いまわせるだろうか)。
これも例のごとくscreen(1)を放りこんで、make buildworld。
朝まで放置、と。
grubの起動画面でe(edit)、もひとつeでコマンドラインが編集できる。
で、root=/dev/hoge のroを消して、その後に init=/bin/bash rw。
すっと#なコマンドプロンプトが出た。なんでもできるようになった。
mount -o remount,ro / にてマウントしなおしてから、reboot。
一発メモなPCルータを用意する。
以前立てていたsquidとbind9とdhcpを起動した上で
iptables -P forward DROP しておく。
非プロキシ(とりあえずはそんなの)のWin7を
プロキシ下に移して、コントロールパネル
でプロキシを追加してやっても、WindowUpdateに
失敗することを確認。
もちろん、Webブラウザが普通に繋がることは
言うまでもない。
PCルータ上で tcpdump を起動させて、通らないパケットを 眺めつつ、Windows Update に詰っている Win7 上で コマンドプロンプトを管理者権限で開く。
C:\ netsh winhttp set proxy proxy-server PROXYSERVER:NUMBER
これを実行した途端、それまで外に出ようとしていたパケットが 一斉にプロキシにアクセスを始めるようになった。
C:\ netsh winhttp import porxy source=ie
これだけでも行けそうな気がする。あと、
C:\ netsh winhttp reset proxy
も、 参考にしたページから控えておくか。
さて、この実験で使ったWin7は、比較的ピュアなWindowsだったが、PCメーカーがそれぞれに味付けしたWindows8で上手くいくかどうか。どこに落し穴があることやら。
* より % が上で、%は + より上らしい。
#include<stdio.h> int main() { int no_paren = 10 + 21 * 100 % 3; int f_paren = (10 + 21) * 100 % 3; int s_paren = 10 + (21 * 100) % 3; int t_paren = 10 + 21 * (100 % 3); printf(" 10 + 21 * 100 %% 3 = %d\n", no_paren); printf("(10 + 21) * 100 %% 3 = %d\n", f_paren); printf(" 10 + (21 * 100) %% 3 = %d\n", s_paren); printf(" 10 + 21 * (100 %% 3) = %d\n", t_paren); return 0; }
$ ./mod 10 + 21 * 100 % 3 = 10 (10 + 21) * 100 % 3 = 1 10 + (21 * 100) % 3 = 10 10 + 21 * (100 % 3) = 31
%のエスケープは、%%だった。
もう少し整形してもいいが、めんどうくさいのでここまで。
仮想環境のWin8.1。
仮想ディスクの先頭512バイトを
hexdump した結果。
ブートストラップローダ(466バイト)を
ゼロで潰した場合と、
その
差分。
インストールDVDからコマンドプロンプトで
bootrec /fixmbr した(
結果と
潰した結果との差分、そして
最初との差分)。
その後に「自動修復」する(その
結果と、
前との差分)。
その結果(完全に元通りに戻った
訳ではないはずだが)ともかく、
Win8.1は無事に起動するようになった。
作業中の スクリーンショット。
パーティションテーブルを消したりもしたが、記録も記憶も曖昧。
ただ、正常に起動するようには、できた。
気象庁のWebサイトが変わり、以前運用していたシェルスクリプトでは、 天気予報をメールすることができなくなっていた。
#!/bin/sh URL='https://www.jma.go.jp/jp/yoho/331.html' WCOLS=24 DIR=$DIR TITLE="`echo 天気予報|nkf -w`" wget -q -O - $URL | \ sed -ne '/<caption/, /<div id="explain">/'p | \ sed -f ${DIR}half_all.sed | \ w3m -dump -T text/html -cols $WCOLS | \ sed -f ${DIR}form.sed | \ sed -f ${DIR}ctrl_nr.sed | \ nkf -w | \ s-nail -A $MAILSERVER -s $TITLE $MAIL_ADDR
JSONで取得できる話を聞いて、少し試す。
エリアのサイトを見て、適当なURLをアクセスする。
見るべきところは
27000.jsonらしい。
wgetとpython3スクリプトとs-nailで処理することとする。
データの解析出力はpython3にやらせる。
適当に検索したところ、リストとディクショナリと解釈するらしい。
dumpsにかけると、全部文字列になってしまう、らしい。
手を焼いたことのひとつに、日本語のエンコードがあった。
あれこれ試して、複数の{hoge: [foo, bar], fuga:[fuzz, buzz]}
を含む形で切り出すと、\hogehoge が交じるらしい。
消すなら最終データまで指定してやるか、さもなくばjson.dumpsに
ensure_ascii=Falseを添えてやればいいらしい。
このあたり、やったのは昨日だったせいか、ほとんど記憶
してなかったり。
From: みおから $SENDER_MAIL_ADDR To: $MY_MAIL_ADDR Subject: 2月27日の天気予報 Date: Sat, 27 Feb 2021 10:03:37 +0900 User-Agent: s-nail v14.9.11 今日の天気は 晴れ 時々 くもり 今日の風 北東の風 やや強く 海上 では 北東の風 強く 今朝の最低気温は 11 ℃,, 日中の最高気温は 11 ℃ 雨の降る確率: 6時-12時は 0 %です 雨の降る確率: 12時-18時は 0 %です 雨の降る確率: 18時-24時は 0 %です
もう一つ。スクリプトをgithubにあげるために、個人情報を
環境変数にして、別ファイルに逃がす方法。
どうやら ~/.bash_profileに書いておいて(不正侵入で狙われる可能性を考えると、
これも良くなさそう)、
スクリプトを #/usr/bin/bash -l にすればいい、らしい、さしあたり。
あとcron。$HOMEしか見てくれない。
Working Directryは指定できるが、python3が読み込むべきファイル
は、さしあたり$HOMEに置くしかなさそう。
wget に --quiet を付けてないと、標準出力をいちいちメールしてくれる。
bashのキーバインドCtrl-a(左端へ)、Ctrl-e(右端へ)は覚えていたが、 打鍵の面倒な環境では、Ctrl-i(補完)、Alt-b(単語単位で左)、Alt-f(同、右)も。
任意のキーを、キーボードを見ずに叩けるPC+キーボードは、やはり楽。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。