2010年12月6日月曜日

好きな漫画家

これはメモです

  • 小林まこと
  • ゆうきまさみ
  • 安永航一郎

2010年11月29日月曜日

狙われてますよ

こんにちは、こすげです。

今朝方、自宅のサーバにこんなアタックがあったんですけど、
=====ログ(ここから)=====

Nov 29 00:47:03 sv02 sshd[25131]: Did not receive identification string from 182.48.50.191
Nov 29 00:53:08 sv02 sshd[25160]: Invalid user httpd from 182.48.50.191
Nov 29 00:53:10 sv02 sshd[25160]: Failed password for invalid user httpd from 182.48.50.191 port 37070 ssh2
Nov 29 00:53:10 sv02 sshd[25161]: Received disconnect from 182.48.50.191: 11: Bye Bye
Nov 29 00:53:11 sv02 sshd[25187]: Invalid user httpd1 from 182.48.50.191
Nov 29 00:53:11 sv02 sshd[25189]: Invalid user ambitoyo from 182.48.50.191
Nov 29 00:53:13 sv02 sshd[25187]: Failed password for invalid user httpd1 from 182.48.50.191 port 37456 ssh2
Nov 29 00:53:14 sv02 sshd[25189]: Failed password for invalid user ambitoyo from 182.48.50.191 port 37610 ssh2
=====ログ(ここまで)=====

あ、この182.48.50.191ってIPアドレス、「さくらインターネット」の配下のIPアドレスで、さくらインターネットは、中途半端なヲタク好みのプロバイダーのせいか、こんなアタックが多いプロバイダーでもあります。
で、このログを見て、「あれぇ、めずらしいIDで仕掛けてきているなぁ」って思ったんですね、始めは「httpd」、2度目は「httpd1」なんて、まあ、ありそうなIDで突っかかってきてんですけど、3回目は「ambitoyo」なんてねぇ。。。「これなんだ? なんかしらないセキュリティーツールかな?」って、調べてみたら、なんか、どーも、ここみたい。いやー他にも「ambitoyo」って探してみたんですけど、ここしか見つからない。ってことは、ここであたりなんだと思うんですけどね。

豊川宝飯衛生組合って、ごみ処理組合じゃん。うむー、このサイトの管理をしようとして間違ってうちのサーバにアクセスしちゃったのかなとも思いましたが、アクセス間隔が数秒なので、これって多分ワームだよなぁ。。。ってことは、このワーム、豊川宝飯衛生組合のWebページが置いてあるサーバに侵入しようとしているんだろうか・・・。それともこのIDで、で、豊川宝飯衛生組合のWebページが置いてあるサーバに侵入しちゃった成功体験があるんだろうか・・・。これを発見した僕はどうしたら良いのだろうかって、かなり真剣に悩んじゃっています。
豊川宝飯衛生組合の電話番号ものっているので、「お宅のサーバー狙われてますよ」もしくは「お宅のサーバー則られてますよ」って電話することもできるんですけど・・・。なんだかなぁ。。。それじゃまったく怪しいのは僕みたいじゃん。まあ、ほっておくか

2010年11月28日日曜日

おさんぽ

いやぁ、こすげです。

デジカメを買ってしまいました。ええと、CanonのPowerShot SX103IS ですね。さすがにデジカメは自作しません(笑。で、異様に紅葉がきれいっぽいので、お散歩ついでに写真を撮ってきました。

うちの裏山 - この左手下が自宅
ふむ、腕が悪いせいか、今までのデジカメで撮影したのとかわらん。で、この右手には団地があってそれを通り過ぎると、また山道が始まるんですね。で、そこを登って、団地を撮影したところがこの下

団地を望む - 晴れていれば富士山が見えるんだけどなぁ
ええと、山道を登ってゆくと、まぁ、これが日米安保条約の現場に出ちゃったりするんですね。


うむー、一応日本だから、日本の法律で罰せられるってことなんでしょうけどねぇ。。。でもなんで、米国海軍司令官名がでてんだろうな。あ、そうか、進入したとして捕まえるのは、米国海軍になるわけね。これって逮捕権の担保のために書いてあるんだろうなぁ。怖くて絶対に試せないけど(笑。

果樹園上のパノラマ台から
で、どんどん進んでゆくと、鎌倉果樹園につきます。あ、果樹園ってなんとなく、ミカン、ブドウ、リンゴ、梨なんて、水分が多くてあま~い果物を思いがちですが、鎌倉果樹園にあるのは、栗と柿です。なんとなく甘くなくて乾燥気味の果樹園ですな。
そんでもって、道が2股に分かれていたので、行ったことない方に進んでみると、、、知らない団地の上に出て、団地に降りるのもなんだかなぁということで、そのまま山道を進んでいくと、、、

栄21型エンジンの爆音が聞こえてきそうです(笑
ありゃ、あれって、夏島じゃん、で、向こうは東京湾、、、知らない間に、三浦半島基部を縦断してしまいました(笑。というわけで、帰るのがめんどくさ~い場所に出てしまい、仕方ないのでとぼとぼと、うちに帰りましたとさ。途中、柿の写真をぱちり

たぶん渋柿なんだろうなぁ
それから、

へい、通行人の諸君
どーぞ、どーぞ、お先に
なんて、煙突がありましたとさ。
徒歩移動距離23.2km、最低高度海抜32m、最大高度217m、登り合計719m、所要時間4時間22分のハードなおさんぽでした。さぁ、お酒買ってこよう

2010年11月9日火曜日

誰だ!かんたんなんて言ったのは

こんにちは、真っ黒「小沢」元民主党幹事長と、能無し「菅」総理を、足して間抜けにした「小菅」です(笑。

いやぁ、昨日もちょっと書きましたけど、いろんなところで、いろんなものが「流出」しているようです。

まず、警察の公安が作成した文章。。。僕はWinyが使えない環境にあるので、入手できていませんけど、これPDF形式じゃないドキュメント(多分どこぞのワードってワードプロセッサの保存形式なんでしょうね)を、テキスト埋め込みのPDF形式に変換したものが流出したみたいで、とっても手が込んでます。で、どこぞのワードってワードプロセッサ、昔からユーザの情報を勝手にメーカに送信しちゃうとか、疑惑のワードプロセッサなので、流出犯人はもしかするとワードプロセッサ自身かもしれません(笑。例えば正規購入したものじゃない海賊版を使うと、ドキュメントの内容をどこぞのメーカに送信しちゃう機能がついていて、そのどこぞのメーカのサイトが誰かにクラックされてそれで流出なぁんて落ちだったりするかもしれません。

次に、例の尖閣諸島での中国漁船のビデオ。。。これはばっちりダウンロードしておきました。これ日本人がやったら即逮捕ですよね。なのに中国人ならば処分保留で釈放になっちゃうって、そりゃ法の元の平等に反するでしょ。まして、それを決定したのが「那覇地検」って、地検って法の番人じゃないですか。まあ、たかだか地方の地検ごときが高度な政治的判断をおこなう訳はないので、絶対に中央の行政の意向に沿って(直接じゃなくて、もしかすると首相官邸→最高検→那覇地検って流れかも知れませんけど)釈放したんだと思いますけどね・・・でも、それって三権分立に反してないんでしょうか?
今回の事では、海上保安庁の現場でもかなりの不満が高まっていると思いますけど、那覇地検でもかなり不満に思っているんじゃないでしょうか、表面上は責任を押し付けられた訳ですから。現在情報流出元は海上保安庁って事になってますけど、情況証拠をだけを見れば那覇地検の可能性もありそうですねぇ。しかも那覇地検では「情報流出の事実はなかった」なんて簡単に言ってますけど、存在の証明はたやすいですが、非存在の証明は悪魔の証明なんて言われるくらい難しいものです。まあ、通信回線を盗聴して流出ってことなら、技術的にも面白いと思いますけど、たぶんソーシャル・ネタで落ち着きそうです。

で、三番目ですけど、みどりさんの首都圏流出がほぼ決定したみたいです。まあ、それはそれということで。

3番目を除いて、実装者としての感想なんですけどね。検証可能性ってことに結びついてきちゃう訳です。
どこぞのメーカのどこぞのOSやオフィスソフトは、ソースコードが公開されていません。ですから、多分ないとは思うんですけど、僕達がどんなに頑張っても、不正を働くコードの不存在を証明する事はできない訳です。それに対してオープンソースは、バイナリを使っちゃうことが多いですけど、ソースが公開されているので必要に応じて、それを元に自分でソフトウエアをビルドすることができるわけです。要は悪魔の証明と言われる不存在証明が、めずらしくできる例なんです。でもですね「ソースが公開されているから安全だ」ってのは間違った考えであることを強調しておきます。要は怪しい不正を働くコードがないことを保証できる可能性が、ユーザの権利として認められているってことなんですね。その権利を行使するか行使しないかも、ユーザにまかされています。オープンソースだから安全、だからバイナリを取ってきて使えば安全ってのは、どこぞのメーカのどこぞのオフィスソフトを使うのと、安全性って面からみれば同じリスクを背負っちゃっています。
まあ、事実上、個人がOpenOfficeのソースコードを読んで安全性を確認して、自分でビルドする。もちろんそのビルドツールも、ソースを読んで安全性を確認した上で自分でビルドするなぁんてことは、時間と自分の能力を考えれば、しないし、できませんが、例えば、政府機関などではやってやれないことはないし、今回のような事を考えるならやるべきことだと思います。

いやー、Firefoxの野良ビルドって、調べれば結構見つかるんですけど、政府が使用するソフトウエアは政府自らがソースコードを検証しビルドしたバイナリを公開すべきでしょうね。ただ、元クラリオンガールのおねーちゃんに仕分けられちゃいそうです。「自分でやる必要があるんですか?」なんてね(笑

でですねぇ。最近多いんです(笑。何がってうちのサイトへの不正アクセスがなんですけどね。特に増えてきたのが、プロバイダの持つIPアドレスからで、多分個人ユーザが自宅サーバを立てて、それがクラッキングされたんでしょうね、うちのサーバに対して、垂れ流し状態で不正アクセスを試みるパケットを送ってきます。で、困るのが、そんなサイトがあって、そのサイトオーナーに「あんたーのところのサーバ、クラックされてるよ~」って連絡を取りたくても取れないことなんですね。これが企業のサーバだったら何らかの連絡方法があるんですけど、個人ユーザの場合はプロバイダに通報することぐらいしかできません。また、DHCPでIPアドレスが割り当てられていることが多いので、そのIPアドレスをiptablesで止めても、変わっちゃうことが多い(事実、異なるIPアドレスから、同じサイトと思える不正アクセスを試みるパケットを受信したことがあります)ので、ネットワークごと止めるしか手がないわけです。
で、特徴的なのが、そのIPアドレスをブラウザで見てみると「It works!」表示される(笑。まあ多分Linuxが動作しているような感じです。これって、中途半端な力量のユーザが、某「猿でもわかるLinuxサーバ」なんて本を読んで、見よう見まねで自宅サーバを立てたものが狙われているんでしょうけどねぇ。。。「猿でもわかるLinuxサーバ」なんて本を読んで作った自宅サーバなんて「猿なみのLinuxサーバ」なんで、クラッキングされて前に書いたチューリップ状態になっちゃってたりするわけです(大笑。
まあ、猿が作るサーバはOSに何を使おうが猿なみってことです。

2010年11月8日月曜日

Modern meaning of the Apollo 11

こんにちわ、こすげです。
巷では、なにやらいろんな物が流出しているようです。まーそれに関しては個人的な意見はあるんですけど、かなりピンと外れな違憲なんで、まとまったら公開しようかと思います。
で、今日のお題は、昨日の日曜日の午後、NHKアーカイブスで、アポロ11号の月面着陸を立花隆氏が推薦して、着陸当日の放送のダイジェスト版を、NHKで放送していたんですね。
1960年生まれの僕にとって、1969年というのは確実に記憶に残る歳になっていたので、アポロ11号の月面着陸は良く覚えています。たしか当日は小学校をさぽってテレビにかじりついていたんじゃないかな。で、画像がLM(Lunar Module)から送られてきて、いつアームストロング船長が月への第一歩を踏み出すのか、目を凝らしてみていたのですが、画像がかなーり不鮮明だったため、どれが第1歩だったのがとうとう分からずじまいだったことを覚えています。
昨日、アーカイブスを見ていると、NHKのスタジオに、地学で有名な東大の竹内均先生やら、変わったところでは奈良薬師寺の高田好胤和尚だとか、ファッションデザイナーの森英恵さんなんかが出てきて、それぞれの立場で、まったく役に立たないピンと外れな意見を述べられていたのが、ポイントが高かったです。
またLMが着陸する様子を、(今見るとすげーチープな)コンピュータ・グラフィックス!で実況していたのは、おもしろかったです。あの画像って、大学時代に初めてコンピュータゲームとして触った「月面軟着陸ゲーム」・・・要は、一定時間毎に月上空にあるLMの高度、上下方向の加速度、現在の質量が表示され、それで燃料消費量を数値で入力してやって、その燃料消費量に応じてLMが、上がったり下がったりする。。。で、うまいこと、燃料消費量を調節してLMを月面に軟着陸させる。。。ってテキストベースのゲームですね。で、その、「月面軟着陸ゲーム」をバージョンアップしたものに、ワイヤーフレームで月面とLMを描いたものがあったんですけど、それそのままじゃん、なんて懐かしい思いをしたりしていました。
それらのなかで、一番印象に残っているのは、モスクワ!からの中継で、ソ連!の科学者が「アポロは危険だ」と談話を発表したってのがあったんですね。僕はそれを聞いたときに「負け犬の遠吠え」じゃん、って思ったんですけど、その後アポロ13号が月に向かう途中で機械船の酸素タンクが爆発した時に、その談話を思い出して、もしかしたら「負け犬だっかかもしれないけど、遠吠えじゃなかったんだなぁ」って思ったことがものすごく、同時代のこととして印象に残っています。

その後アポロ計画は20号までの予定が、17号で打ち切りになったわけですけどね。

アメリカの有人宇宙計画は、マーキュリー、ジェミニ(ここまでは、僕は話として知っているだけで、リアルタイムでの雰囲気はしりません)と続いて、アポロ計画である一つの頂点に達した訳です。僕の持っていた印象は、アポロ11号の時は、熱狂的にアポロ計画を支持したアメリカ市民が、次第に宇宙に対する関心を失い「数人の人間を月に送るお金があったなら、住む家を!」と言い出し、NASAの予算が削減されるまでに時間がかからなかったってことなんです。時期的にオイルショックの影響かと思っていたんですけど、今調べてみると、計画の中止が決定されたのは、オイルショックの前みたいなので、直接は関係ないみたいです。その後外惑星探査計画のボイジャー1号2号(これは有人でない。。。それにボイジャーには極めて個人的な思い出あり)、スペースラブ、スペースシャトルって、細々だけどアメリカの宇宙探査計画は続いて行くわけです。

さて、こう書いてみると、(科学的)成果の評価(期待)って時間的には長続きせず、それを支持していた世論!も、時間が立てば敵に回る、って構図が、至る所にあることが分かります。
例えば、健康保健制度改革を打ち出し「Change !」の掛け声とともに当選したオバマ大統領、日本でも長らく続いた自民党による政界支配を批判した現民主党政権、様々な理由がありますが当初の成果(期待)の評価がひっくり返ってしまった例ですね。個人的なことを言わせてもらえば、現民主党政権、いまさらの様に言わせてもらえば、こうなることは分かっていたので、僕は前回の総選挙では民主党に投票しませんでした。しかも、何とかガール出身(あ、何とかガール出身が悪いっていってないです。出身はどうでもちゃんとしたポリシーによる行動を取ってもらえれば、前身はなぁんでもいいんです)の、何とかって議員の「2位じゃだめんなんですか?」ってとんちんかん発言で、科学技術・教育関連の予算がばっさり切られるなんておまけもついたので、めずらしく僕の未来予想が当たった、稀有の例なんですけど(笑。

はてさて、アポロ11号の今日的な意義、ってことですけどね。例えば立花隆さんは、その著書「地球への帰還」の中で、宇宙に飛び出した宇宙飛行士たちのその後を取材して、(飛行士たちの)内面の変化に興味を持ったと述べられています。僕もその著書を読んだんですけど、アポロ15号のアーウィンがのちに宣教師になった(しかもノアの箱舟を大真面目に探そうなんてプロジェクトまで始めちゃう)なんて、おもしろい話がありますが、当事者個人のインナースペースの変化ってのに最大の焦点を当てるのは、なんかなぁと思っちゃう訳です。たしかに宇宙に行った人のインナースペースは変化するでしょうけど。また、宇宙から地球を眺めると、自分や身の回りのトラブル、国家間の紛争なんかも、極めてちっぽけなことに思え、全人類が意識の進化を遂げるきっかけになるなんて、大上段に振りかぶった意見もあります。うーん、この辺は、攻殻機動隊2ndGIGの久世英雄君の下部構造から上部構造への強制的な・・・って教科書的な考えに近いのかなぁ。まあ、これも、僕としてはパスかな。それから、ムーンホークス説(アポロ計画で人類が月に行ったのは大嘘って説)も、おもしろい考察材料だと思いますけど。

僕にとって同時代のことである、アポロ11号の月面着陸、コンピューターと人間のせめぎあいの始め、ってことなんだと思います。こういうと、何やらターミネータ的な世界観のことを行っているのかって勘違いされそうですけど、そうじゃなくて、今はやり(はやってないってw)の自動化の意義について考えるきっかけになるんじゃないかってことなんですね。
アポロ計画では月までの通信に片道約1.5秒ほど時間がかかるので、アポロから地上にデータを送信して処理を行い素の結果をアポロに戻すってことができなかったこともあって、まあ、初めてプロセッサとも呼べるようなものが宇宙船に搭載されました。アポロの成功はそのプロセッサの支援なしにはなし得なかった事実があります。しかし一方で最後の判断は人間が行っていたという事実もあるんですね。例えばアポロ11号のLM着陸寸前、着陸予定地がでこぼこだったため、アームストロング船長がLMの自動操縦をオーバーライドして平地まで誘導したって話も伝わっています。これって、僕から見れはコンピュータと人間の理想的な関係何ですけど、現代ではコンピュータがもっと多くの部分を受け持っちゃっているわけですね。
例えば、最近買い換えた自動車、ギアにはエレクトリックCVTってのがついています。これ、無段階変速なんでその時の車速やエンジン回転数などに合わせてもっとも効率の良いギア比を選択できるため、低燃費化には優れた武器な訳です。もちろんエンジンとモーターの2つを使うハイブリッドはもっと高度な制御を行い、より効率が良くなっていることと思います。でも、じゃあ、車が僕の意図したとおりに動いてくれているかっていうと、そうじゃないわけですね。それは長い、そして割と急な坂道を登るとよくわかります。アクセルの踏み込みと車の加速度が一致しないんですよ。すごい違和感がある。
それから、カーナビもそうですね。カーナビの指示どおりに運転できていれば良いんですけど、一時的な道路の閉鎖なんかがあると、カーナビが使えない。それまで何も考えずにすんだ、いわば you have control 状態の時に、急に i have control にさせられちゃう。これってすげー困る。これから自分がいくべき道・・・ってことをまったく考えずに済んだのを、急に考えなければならかくなった時の恐ろしさ?は、体験すればよくわかります。そんな時に、歩行者とかが飛び出してきたりしたら、普段は避けられるのに、そのままぶつかっちゃうなんて、ふつーのことだと思いますね。

「コンピュータによる自動化、、、それはあくまで人間支援にとどめるべきで、人間甘やかしの方向に進んではいけない」これが、最近の僕の主張なんですけど、誰も賛成しないだろうなぁ。。。で、僕に言わせれば、アポロ計画では、コンピュータと人間の関係がとてもうまく行っていた(やや、コンピュータが劣勢だったかもですけどね)。。。でも、それ以降、特にこの10年、コンピュータに押されっぱなしなのが、人間なんだよねー。ってことなんです

2010年10月30日土曜日

最近のSSHアタックで気づいたこと

こすげです。

台風来てますねぇ。今日は本来なら学園祭なのですが、台風が接近しているのでお休みになりました。で、今、自宅にいます。
さて、アタックの傾向を見ていて気になる傾向があることに気づきました。
僕はかなり物理的にかなり離れたIPアドレスを持った2つのホストでSSHアタックを観測しているのですが、かなり短い時間間隔で、同じホストからアタックを受けるケースが増えているんですね。僕がSSHアタックを観測しているのを趣味(笑)にしているという事を知っているのは、ごく一部の日本人だけでしょうから、これはうちのホストを狙い撃っているのではなく、単にSSHアタックを行っているアタックツールが、高速スキャンを行っている結果なんじゃないかと思っています。

例えば、今朝方、1つのホストにあったアタックなんですけどね
67.43.56.146 2010-10-30 03:17:21
こんなアタックがあったんです。その後、およそ3時間後に、全く異なるIPを持つホストに
67.43.56.146 2010-10-30 06:36:16
こんな感じのアタックがありました。

これって、同じアタックツールが出した不正アクセスを目的としたパケットなんでしょうけど、もしIPアドレスを順番にアタックしているのだとすると、かなり高速にスキャンをしているように思います。このIPアドレスに対して、こちらからポートスキャンをしてみると

PORT STATE SERVICE
22/tcp open ssh
25/tcp filtered smtp
80/tcp open http
137/tcp filtered netbios-ns
138/tcp filtered netbios-dgm
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
843/tcp open unknown
1720/tcp filtered H.323/Q.931
4000/tcp open remoteanything
5060/tcp open sip
8080/tcp open http-proxy
31337/tcp open Elite

って感じです。まず、httpポートが開いているんですけど、たたいてみるとレスポンス自体はあるのですが、内容は何もないようです。
また、見慣れない、4000/tcp、31337/tcp が開いていますけど、これらはちょっと古い情報ですがここによると、
4000/tcpは
Skydance, Remote Anything , ZZMM, Hostem
また、31337/tcpは
Baron Night, BO client, BO2, Bo Facil, ADM worm, Back Fire, Back Orifice (Lm), Back Orifice russian, BlitzNet, Freak88, Freak2k, NoBackO
なんて、トロイの木馬が使用しているポートみたいです。この情報最終更新が5年前なのでかなり古い情報ですし、どこまで信じて良いのか分かりません。ですが、伝統ある(笑)不正アクセスプログラムが使用するポートのようです

まあ、ここで言えるのは、広範にIPアドレスをスキャンする、スキャン速度の高いアタックツールが出回っているって事なんですけどね。

2010年10月28日木曜日

日本OSS貢献者賞授賞式

こすげです

いやぁ、雨の中「日本OSS貢献者賞」の授賞式行って来ました。写真をたくさん撮ったんですけどね、どうも露光不足なんでろくな写真がありません。まあ、見られる写真をここにアップしましたので、見たい人は見てください。

昨日、ブログを更新するとか言ってましたけど、パケット出せないんじゃ、更新できないですよね(笑

OSS貢献者賞の授賞式と同時に、未踏プロジェクト関連の「スーパークリエーター」認定証授与式もあったんですけど、受賞者はみんな若い。中にはうちの息子ぐらいのスーパークリエーター認定者もいました。未踏プロジェクトは、「本体」(このネーミングなんとかならんのかなぁ)、「ユース」って区分があるのですが、せひシニア部門もほしい(笑。
まあ、すでにがりがりソースを書く年齢ではないのですが、書きたかったりするんですよね。自分としては

2010年10月27日水曜日

台湾からの招かざる訪問者

こんばんわ、今日2度目のこすげです。

毎晩やっているランニングから帰ってPCの電源を入れて、本日のニュースを眺めてみるとノーベル研究所、ハッカー被害 台湾からアクセス記録もなんて記事がありました。うちでも、不正アクセスをなかば趣味的にずーっと記録し続けている(ここここ)ので、当然台湾からの不正アクセスもありますが、国としてはそんなに多い方じゃありません。まあ、台湾というと、不正アクセスより、不正中継を狙ったsmtpサーバへのアクセスやスパムメールって印象が強くあります。
ですが、気になっていたことがあるんですね。以下、台湾からの不正アクセス元をwhoisで引くと何が出てくるかってのを調べてみました。以下が不正アクセス元の組織名なんですけど、

Ministry of Education Computer Center
TAIWAN PROVINCIAL HSIN-HUA VOCATIONAL HIGH SCHOOL
T-TCRC.EDU.TW-NET
Yangtek Electronics Co., Ltd.
kbro CO. Ltd.
National Central University
National Taiwan University of Science and Technology
CHTD, Chunghwa Telecom Co., Ltd.
HINET-NET
HINET-NET
SZEHAI INSTITUTE OF TECHNOLOGY AND COMMERCE
Kai Xin Business Co., Ltd.
T-HCRC.EDU.TW-NET
Chonglin Business Co., Ltd
TFN-NET
National Changhua University of Education
prohostCO.,Ltd
National Chiao Tung University
HINET-NET
Reach & Range Inc.
New Century InfoComm Tech Co., Ltd
HINET-NET
HINET-TW
T-HCRC.EDU.TW-NET
Ministry of Education Computer Center
HINET-NET
kbro CO. Ltd.
HINET-NET
National Sun Yat-sen University
National Sun Yat-sen University

一見して分かるのが、学校および教育機関が多いって事ですね。しかも、Ministry of Education Computer Center って台湾の文部省コンピュータセンタ-? ってお役所じゃん(笑。(日本も含めて)他の国も学校および教育機関の割合が多いのですが、台湾みたいに約半数が学校および教育機関って国もないです。

台湾って、某国に対抗して国ぐるみでクラッカーを養成しているのか、それとも、セキュリティー的に大甘な設定にでもなっているんでしょうか・・・。件の記事もノーベル研究所に進入したクラッカーの直接のIPアドレスは、「台湾の国立交通大学」って事になってますけどねぇ。。。
まあ、IPなんてセキュリティが甘いホストを乗っ取って、そんでログを消去しちゃえば、どこからアクセスしているかなんて、まったくわかんなくなっちゃうのでなんとも言えないですけどね。。。まあ、常識から言って、ログは消去されているだろうなぁ。平均的な腕を持ったクラッカーならねぇ

って書いていたら、「攻殻機動隊」にでてくる他称「笑い男」のAOI君を思い出しました。明日から学園祭期間で、手も足もパケットも出せない状況なんで、またブログへの投稿が増えるかもしれません

口から火を噴くぜ

こんばんわ、小菅です

僕は16歳から結婚する33歳まで一人暮らしをしていたので、一通りの料理は作れるのですが、結婚して子供ができて嫁さんが専業主婦になった段階で、料理はしなくなったんですね。まあ、料理をしたと言っても、カレーを大鍋(知り合いの料理屋が廃業する時にもらった寸胴)いっぱい作って、それを1ヶ月ぐらい食べては作り足し、食べては作り足しをしていたので、とうてい料理と呼べるものではなかったような気がしますけど。
で、今年、あるところから「食べるラー油」をもらって、食べてみるとこれはうまい。でも、なんだか人気で売っていない、という状況になって、辛さに弱い嫁さんに、「ラー油を作って」とも言えず、しょうがないので自分で作ることにしました。そのラー油、同僚の塩沢先生に差し上げたところ、「まあまあ、いける」とのことで、レシピを教えてほしいと言うことになったので、ここでレシピを書くことにしました。

材料 だいたい完成500ml分ぐらい
タマネギ・・・・・・2個
長ネギ・・・・・・・2本
ショウガ・・・・・・大きめ2かけ
ニンニクチップ・・・一袋(*1)
唐辛子(輪切り)・・一袋(*1)
白ゴマ・・・・・・・一袋(*1)
乾燥エビ・・・・・・一袋
ごま油・・・・・・・一本
塩・・・・・・・・・適量
が、必須の材料ですね。それ以外に、冷蔵庫の野菜庫に眠っている葉っぱ系以外の野菜は何でも入れてOKです
ちなみに、今回は「しなびたレンコンとナス」、「嫁が何かに使おうとしてたシメジ」、「乾物棚のなかで眠っていた松の実」、「酒のつまみの残りのサキイカ」なんかも入れました。あ、材料の中の(*1)は、100円均一ショップで売っていたものです。材料費は、うちの台所にあるものをちょろまかせて、だいたい6~800円も見ておけば、十分でしょう(笑。

下準備
タマネギはすべて木っ端みじん切り(笑
長ネギは輪切り
ショウガは千切り
にします。また、その他のものは、すべて木っ端みじん切りにしておきます。フード・プロセッサがあると便利なんでしょうけど、うちにはセントラル・プロセッシング・ユニットや、ワード・プロセッサはたくさんありますけど、フード・プロセッサがないので、包丁でぜーんぶ切ります

プロセッシング
まず、フライパンに普通の油を多めに入れて、木っ端みじん切りにしたタマネギを入れて中火で炒めます。どこまで炒めるかは、そのときの気分ですけど、まあ、タマネギに透明感が出て、その後見た目に変化がなくなって飽きてくるまでにしましょう。

次に、長ネギ、ショウガをフライパンに投入し、さらに炒めます。油が足りなくなったら、適当に加えて、焦げないように炒めて行きます。その後、ニンニクチップ、白ごまを加えます。どこまで炒めるかは、、、うーん、僕は投入した時点の分量の半分ぐらいになるまで、根気よく炒めました。まあ、これは修行ではないので、楽しいなと思える範囲でやっていただければいいんじゃないでしょうか。最後に乾燥エビ、その他の食材を加えて、火を弱火にして煮込むように火を加えてゆきます。
このときに注意しなければいけないのが「決して焦がさないこと」です。ここまでの行程はだいたい1時間ぐらいでしょうか。冬寒くなったら、石油ストーブの上にフライパンを置いてでも良いでしょうね。途中で塩を加えていって、自分の好みの塩加減にします。基本的におかずにするには、塩味を濃くした方がおいしい感じです。

で、そろそろとなったら、別鍋にごま油を入れて熱します。どこまで熱するかというと表面からうっすらと油煙が立ち上るぐらい。それができたら、フライパンに唐辛子を入れて、(唐辛子が上に乗っている状態で)上から熱したごま油を回しがけします。ここが楽しい(笑

で、その後、適当に混ぜて、密閉できる瓶(これも100円均一ショップで売っていた)に移して冷まします。冷えたら口を閉じます。あとは、常温で1週間程度熟成させれば完成って感じです。できあがったものは、常温で保存しても、だいたい1ヶ月から2ヶ月は楽しめます

で、できあがったラー油というか、自分風唐辛子炒め(笑、食べると口から火を噴くほど辛い。基本的に食べて30分ぐらいは口の中が痛い感じです(笑。もう、熱いお茶なんか飲めないですね(笑。まーそんときは、牛乳でも飲んでください

実は、今年の初夏に、娘の学校のバザーで、「ハバネロ」の苗を買っておいたんですね。で、その実が熟して真っ赤になったので、それをこのラー油に入れてみたんですけど。。。その実(の残骸)を食べた時、一瞬にしてむせて、その後、涙は出てくるわ、鼻水を垂れるは、味覚が正常に戻ったのは2時間後でした(笑

2010年10月25日月曜日

本日のおまけ

あ、こすげです。

めずらしく、読者さんから、dd_ssh の使用する不正アクセスユーザーIDで示した、不正アクセスに使用されたIDを、使用された順で降順に整列して表示するのって、専用のツールを使っているんですか? って質問があったので、とりあえず書いておきますね。。。

#cat /var/log/secure /var/log/secure.[1-9]|grep 'input_userauth_request'|awk '{print $9}'|sort|uniq -c|sort -r

こんだけですよ、こんだけ

電子成績証明書・・・

こすげです。

ええと、学生が就職試験から帰ってきて自分のメールアドレスをチェックしたら、別な会社からの就職のご案内が来ていたんだそうです。で、「先生、先生、ちょっと見てください」と言うので、メールを見てみると・・・。

「・・・つきましては、このメールに、履歴書、卒業見込書、成績証明書を添付してご返信ください・・・」

なんてことが書いてありまして、「おー、よかったじゃん」って言ったんですけど、、、

履歴書、卒業見込書、成績証明書を添付して

え。。。成績証明書を添付して。。。

これってなんかの間違えじゃない????? 成績証明書をスキャンして送れってこと?????
それって、いくらでも自分の成績書き換えられるじゃん。。。。

って、思って「最近の就職活動では、そんなことあるん?」って、うちの就職部に確認の電話をかけたんですけどね、、、就職部曰く「そのようにしてください」だって。僕としては、学生に問い合わせさせるより、就職部から問い合わせをさせた方が、角が立たなくて良いと思って、就職部に連絡したんですけどね。

まあ、後から有印の成績証明書を提出させて、メールで送ったものとインシデントとれば、偽造しても分かっちゃうわけですけど。。。なんとなく、納得できないなぁ。せめて「成績証明書をPDF形式にして、学校の秘密鍵で暗号化して送って下さい」ってのは分かるけど、さすがにそこまでの対応はうちの学校でもやっていないしね。。。

きっと、この人事担当者、忙しすぎて、ついうっかり間違えちゃったんでしょうけど、、、例えば「履歴書に、卒業見込書、成績証明書を添付して郵送してください」って書こうとして、うっかりこのメールに添付して返信してくださいって書いちゃったのかなぁ。。。それとも、その間違えに気づいたら合格とか、ないだろうなぁ。。。さすがに
でも、その求人「テスト・エンジニア」を募集しているんだよなぁ。。。そんなミスを発見するのもテスト・エンジニアの仕事なんだけどね。。。と、深読みをしまくって、頭を抱えていたんですけど。。うう、悩ましい

dd_ssh の使用する不正アクセスユーザーID

こんにちは、こすげです。
今週末にうちの学校の学園祭があることにくわえ、就職活動で学生がほとんど来ていないので、することがなくぼーっとしています。なので、ここ最近増えてきた不正アクセスの分析でもしてみようと思い、最近の10週間分のログ精査をしてみたのですが、あーーーーと驚く?ような結果が出てきました。以下が、不正アクセスを試みたIDの一覧なのですが・・・
=====ID一覧(ここから)=====
34 test
24 uwasa
24 ishida
24 amisketch
21 admin
20 anzen
15 yunuma
15 yagyo
15 tsurumi
15 taurus
15 suwa
15 ryu
15 rui
15 onsen
15 momo
15 kansai
15 ik
15 haiju
15 fumio
15 axe
15 asumin
13 matsuo
12 yuuryouji
12 yukepr
12 yougodzilla
12 yorozuya
12 wailani
12 utanorakuen
12 uotoshi
12 tsumori
12 toripuru
12 tetsuyaakita
12 takasu
12 shinsaku
12 shigeyuki
12 serjiho
12 raydive
12 nekomirin
12 nagios
12 n-kankou
12 moeyoken
12 miyu
12 miyarihonda
12 minority
12 minanotabo
12 maxlovemie
12 marino
12 kosyou
12 komaru
12 koizuka
12 kobayashi
12 kawasaki
12 katsuya
12 kamakurasirasu
12 kakuremino
12 kag
12 jyoubakurabu
12 judooyaji
12 jinon
12 hokkiya
12 hayakita
12 guest
12 fuyuty
12 eyemake
12 elleika
12 dokokai
12 charanori
12 aoharu
10 takumi
10 sara
8 yoshimi
8 yokohama
8 yamamoto
8 wada
8 user
8 tyube
8 toshiya
8 toramomo
8 temp
8 teiki
8 tantan
8 tanaka
8 takeda
8 takagi
8 taichi
8 student
8 soleil
8 soka
8 sho
8 shimoyama
8 seijikouda
8 seiji
8 sakue
8 rumin
8 rinku
8 ponpon
8 pachinko
8 oekakisakie
8 namhill
8 nakahira
8 momotaro
8 mituse
8 med
8 mario
8 kitsuen
8 kinshokuji
8 kekkan
8 kazu
8 kawanobe
8 kawade
8 kanou
8 kanemitsu
8 kamijoh
8 kage
8 jyuuken
8 jyujiya
8 imai
8 ichinose
8 ichigochan
8 hos
8 hirosi
8 hiroaki
8 higuchi
8 harada
8 gonta
8 gakusai
8 emiko
8 eiko
8 eightban
8 chisato
8 bal
8 awawa
8 attoodoroku
8 area
8 arc
8 angera
8 amano
8 akubi
8 ajisai
7 oracle
6 rajesh
6 postgres
6 noda
6 nao
6 maya
6 luckas
6 kamil
6 ittan
6 geotsai
6 fukuyama
6 elina
6 clmike
5 truzzo
5 testing
5 nyoko
5 numata
5 numajiri
5 nozomi
5 nozara
5 nozaki
5 nose
5 nosaka
5 norogumi
5 noro
5 noriyuki
5 noriyori
5 noritoshi
5 noritada
5 norishige
5 norio
5 norinaga
5 norimatsu
5 noriko
5 norihisa
5 norihide
5 norie
5 noriaki
5 nori
5 nonomura
5 nono
5 nomura
5 nomi
5 nogushi
5 noguchi
5 nogi
5 nobuyoshi
5 nobuyori
5 nobuyoki
5 nobusuke
5 noburo
5 nobuo
5 nobunaga
5 nobukazu
5 nobuhito
5 nobuhisa
5 nobuhiko
5 nobuharu
5 nobuatsu
5 noboru
5 nitta
5 nissho
5 nishio
5 nishimuraya
5 nishimoto
5 nishikawa
5 nishi
5 niou
5 ninsei
5 ninomiya
5 nijo
5 niijima
5 nichiren
5 nene
5 nemoto
5 nayoko
5 nawabe
5 natsuo
5 natsumi
5 natsume
5 natsuko
5 natsu
5 nataga
5 narumi
5 naruhiko
5 narita
5 nariko
5 narihira
5 narihari
5 nariakira
5 nariaki
5 nari
5 narato
5 narahiko
5 narahashi
5 naozane
5 naoya
5 naosuke
5 naora
5 naonobu
5 naomichi
5 naomi
5 naoko
5 naoki
5 naohiro
5 naofumi
5 naoaki
5 nanami
5 nanako
5 nana
5 nampo
5 namiyo
5 namiko
5 namiki
5 namika
5 namie
5 nami
5 namboku
5 nakazo
5 nakazawa
5 nakayama
5 nakatoni
5 nakata
5 nakasone
5 nakasawa
5 nakasato
5 nakao
5 nakano
5 nakanishi
5 nakamura
5 nakamoto
5 nakamaro
5 nakajima
5 nakahara
5 nakagawa
5 nakae
5 nakadan
5 nakadai
5 nakada
5 naizen
5 naito
5 nahoko
5 naho
5 nagumo
5 nagatsuka
5 nagata
5 nagase
5 nagasawa
5 naganori
5 nagano
5 nagai
5 nagahama
5 mutsuko
5 mutsohito
5 mushanokoji
5 murkami
5 murasaki
5 murai
5 munkata
5 munemori
5 motoyuki
5 mototsune
5 motonobu
5 moto
5 moromao
5 morishita
5 morimasa
5 morie
5 monomonoi
5 momoru
5 mokichi
5 mojo
5 mochihito
5 mizuno
5 mizoguchi
5 miyo
5 miyamoto
5 miyake
5 miyagi
5 miwa
5 mitsuzuka
5 mitsuwa
5 mitsunari
5 mitsukuni
5 mitsuko
5 mitsuhide
5 mitsuharu
5 mito
5 misato
5 misao
5 misa
5 mio
5 minobe
5 mino
5 minatoya
5 minamoto
5 minako
5 minabuchi
5 mimasuya
5 miliko
5 miiko
5 mihoko
5 mihashi
5 mifune
5 midori
5 michizane
5 michinori
5 michinaga
5 michihiro
5 michi
5 megumi
5 megu
5 mazawa
5 mazaki
5 mayumi
5 mayuko
5 mayoko
5 mayo
5 matsuzawa
5 matsuya
5 matsuta
5 matsushita
5 matsushina
5 matsuoka
5 matsumoto
5 matsumara
5 matsukata
5 matsudaira
5 matsu
5 matoke
5 matashichi
5 matano
5 masuzoe
5 masutaro
5 masumi
5 masuko
5 masuhiro
5 masudu
5 masoni
5 mashita
5 mashai
5 masazumi
5 masayoshi
5 masato
5 masashige
5 masashi
5 masaoka
5 masao
5 masanobu
5 masami
5 masakazu
5 masahiko
5 masafumi
5 maruyama
5 marugo
5 mariko
5 maresuke
5 manabu
5 mamoru
5 makuda
5 makioka
5 makiguchi
5 maiko
5 magobei
5 maemi
5 maeda
5 machiko
5 dino
5 cvsuser
5 amanda
=====ID一覧(以下略)=====
上は使用回数5回以上のユーザーIDの一覧です。

以前、不正アクセスを試みるユーザーIDは、「root」が圧倒的に多く、全体の半分近くを占めていたのですが、なぁんと「root」がほとんど消えていることが分かります。また、「root」以外のユーザーIDも、以前は「Bill」だとか「Gates」だとか、日本人名ではなく欧米諸国で使われる名前が圧倒的だったのですが、それが日本人風に変化してきています。
この傾向は、どうも「dd_ssh」の登場以来、顕著になってきた様で、もしかすると「dd_ssh」ってアタック辞書を状況に合わせて(アタックする国によって)動的に変える機能を持っているのかもしれません。また、これは考えたくないことですが、dd_ssh の改造を日本人がやった可能性もあります。
ええと、掲載しませんが、ユーザーIDとペアになるパスワードですが、以前はユーザーID「root」に対して様々なパスワードを試してきていたのですが、最近の傾向ではユーザーIDと同じパスワード、「qwerty」とか「123」とかキーボード配列に依存した「良くある」パスワードを数回試して次のユーザーIDに移ると言った手口が多くなってきているようです。

さてさて、以上の観測事実から、dd_ssh(には限らず)対策には、以下の点が重要なようです。
  • 「単純な氏名のID」は使わない
  • 「学籍番号」のような連番は絶対駄目
  • 「固有名詞+数文字のランダムな文字」みたいな感じでユーザーIDを作成する

    これまでは、パスワードが需要なセキュリティ上のアイテムでしたが、それとペアになるユーザーIDにも、その役割を分担させる時期がきているようです。
  • 2010年10月19日火曜日

    ネットワークアドレス計算アプレットのソース

    あー、こすげです。前エントリのソースコードを掲載するのを忘れていましたので、載せておきますね。

    package com.google.kosugetti.netcalc;
    
    import java.applet.Applet;
    import java.awt.HeadlessException;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    
    public class NetCalc extends Applet {
        static final long serialVersionUID = 1;
        JTextField  txtIPArea;
        JTextField  txtResult;
        JButton     btnExec;
    
        public NetCalc() throws HeadlessException {
            txtIPArea = new JTextField("");
            txtResult = new JTextField("");
            btnExec   = new JButton("計算");
        }
        public void init() {
            String  param = getParameter("iparea");
            if (param != null) {
                txtIPArea.setText(param);
            }
            this.setLayout(new GridLayout(3, 1));
            this.add(txtIPArea);
            this.add(txtResult);
            this.add(btnExec);
    
            btnExec.addActionListener(new BtnExecClicked());
            txtIPArea.addKeyListener(new TxtIPAreaTyped());
        }
        public class BtnExecClicked implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                execCalcCDIR();
            }
        }
        public class TxtIPAreaTyped extends KeyAdapter {
            public void keyPressed(KeyEvent e) {
                if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                    execCalcCDIR();
                }
            }
        }
        private void execCalcCDIR() {
            long    startAddress = 0L;
            long    endAddress = 0L;
            long    andValue;
            int     mask = 0;
            String  s = txtIPArea.getText();
            StringTokenizer t = new StringTokenizer(s, " .-\t", false);
            if (t.countTokens() == 8) {
                try {
                    for (int i = 0; i < 4; i++) {
                        startAddress <<= 8;
                        startAddress += Integer.parseInt(t.nextToken());
                    }
                    for (int i = 0; i < 4; i++) {
                        endAddress <<= 8;
                        endAddress += Integer.parseInt(t.nextToken());
                    }
                    andValue = startAddress ^ endAddress;
                    for (mask = 0; mask < 32; mask++) {
                        if ((andValue & 0x01) == 0x00) {
                            break;
                        }
                        andValue >>= 1;
                    }
                    int     top = (int)(startAddress & 0xff000000) >> 24;
                    if (top < 0) {
                        top += 256;
                    }
                    String   result =
                                Integer.toString(top) + "." +
                                Integer.toString((int)(startAddress & 0x00ff0000) >> 16) + "." +
                                Integer.toString((int)(startAddress & 0x0000ff00) >>  8) + "." +
                                Integer.toString((int)(startAddress & 0x000000ff)      ) + "/" +
                                Integer.toString(32 - mask);
                    txtResult.setText(result);
                    txtResult.requestFocus();
                    txtResult.selectAll();
                } catch (NumberFormatException e) {
                    txtResult.setText("IPAddressが不正");
                }
            } else {
                txtResult.setText("IPAddressが不正");
            }
        }
    }
    で、いつも思うんですけど、javaってunsignedのデータ型がないんで、苦労するんですよね。
    あ、このソースのライセンスは、GPLv2ということで

    てすとプリーズ

    すみません、これは、アプレットのテストです。




    え、何のテストかって? そりゃアプレットのテストなんですけどね、whois データベースで、ipアドレス引っ張ると、ネットーワークってこんな感じで表示されちゃうんですね(場所によりますけど)。

    [Querying whois.ripe.net]
    [whois.ripe.net]
    % This is the RIPE Database query service.
    % The objects are in RPSL format.
    %
    % The RIPE Database is subject to Terms and Conditions.
    % See http://www.ripe.net/db/support/db-terms-conditions.pdf
    
    % Note: This output has been filtered.
    %       To receive output for a database update, use the "-B" flag.
    
    % Information related to '212.154.153.80 - 212.154.153.95'
    
    inetnum:        212.154.153.80 - 212.154.153.95
    netname:        IP_One_Touch_Technologies
    descr:          Erzhan Nurshanov
    descr:          Co-location servers
    descr:          Almaty
    country:        KZ
    admin-c:        EN1258-RIPE
    tech-c:         EN1258-RIPE
    status:         ASSIGNED PA
    mnt-by:         KNIC-MNT
    source:         RIPE # Filtered
    
    person:         Erzhan Nurshanov
    address:        LLC "One Touch Technologies"
    address:        Almaty, 050043, microdistrict Orbita-3, 25, ap.8
    address:        Kazakhstan
    phone:          +7 727 3943755
    e-mail:         info@ott.kz
    nic-hdl:        EN1258-RIPE
    source:         RIPE # Filtered
    
    % Information related to '212.154.128.0/17AS9198'
    
    route:        212.154.128.0/17
    descr:        Kazakhtelecom Data Network Administration
    origin:       AS9198
    mnt-by:       KNIC-MNT
    source:       RIPE # Filtered
    
    % Information related to '212.154.128.0/19AS9198'
    
    route:        212.154.128.0/19
    descr:        Kazakhtelecom Data Network Administration
    origin:       AS9198
    mnt-by:       KNIC-MNT
    source:       RIPE # Filtered
    

    inetnum:        212.154.153.80 - 212.154.153.95
    

    って書き方、iptables でパケット弾くにはすげー使いにくいわけです。「212.154.153.80/28」なんてCDIR形式で表示してほしいんですよね。でも、しょうがないので、「212.154.153.80 - 212.154.153.95」ってネットワークの表記から「212.154.153.80/28」というCDIR形式への変換を行う、アプレット作って使っているんですけど、それがここで動くかどうか。。。それのテストです。

    ちなみに、一番上の欄に「212.154.153.80 - 212.154.153.95」って入れて、一番下のボタンをクリックすると、真ん中の欄にCDIR形式にしたネットワークの表記が出てきます(これを書いている時点では、「出てくるはず」ですね)。さぁ、保存して動くかどうかやってみよう。

    あ、このアプレットに、バグはありますよー。1つのCDIRで表すことができない範囲を指定した場合、広く出ちゃいます

    げぇ~まともじゃん

    こんにちは、こすげです

    この前書いたように先週の日曜日に情報処理技術者試験が行われたようです。そのときの問題と解答がIPAのサイトに公開されています。で、午前の問題を見た限りにおいての感想は、「おー、問題の使いまわしをするようになってから、ずいぶんまともになったじゃん」ってことです。ずーっと以前は「同じ問題を使わない」ということで、何問というか珍問が見受けられた情報処理技術者試験の午前問題ですが、(良問を)使いまわすことによって、ようやくまともになってきたんじゃないかと思います。
    ただ、出題される問題を使いまわすことで、ただ過去に出題された問題をやっておけば基礎力がなくても合格できちゃうって問題があるのですが、それに対して、IPAは午後の問題では基礎力を重視する姿勢を打ち出して?、今回それに沿った出題がちゃんとされていることに、(いい意味で)驚きました。

    上のリンクをたどって、午後の問題を見てほしいんですが、私が問題の質を評価できる問は、以下の
    問1 ハードウエア(組み込みシステム)
    問3 ネットワーク(CRC)
    問4 情報セキュリティ(認証システム)
    問8 データ構造及びアルゴリズム(符号付き2進数の乗算)
    問9 ソフトウエア開発(C言語)
    問11 ソフトウエア開発(Java言語)
    問12 ソフトウエア開発(アセンブラ)
    ぐらいなんです。ですが、いずれも「概ね」良問だとおもいます。

    実は午後の問題は、情報科学や情報技術の勉強を始めて数年の人には幅が広すぎるのですが、ちゃんと問題分の中に解説があるので、それをきちんと読みこなすことができれば、まったく知らない分野からの出題であっても、困難なく解けるようになっているんですね。今回は、幅を広げながら、問題の中での解説がきちんと行われており、国語力や数学力と、(いままで自分が知らない分野を理解しなければならないという)困難に立ち向かう覚悟を持っていれば、ちゃんと解ける問題ばかりです。ただ、試験時間が人によっては、ちょい足りないかもしれないけど。

    特に問3は問題としてよりも、この問題を教材にして、CRCのことを教えたいくらい良い出来ですね。
    あー、でもソフトウエア開発に関して言えば、C言語やJava言語の難易度と、アセンブラの難易度が揃ってない(アセンブラが極端に簡単)気がします。その辺が問題かな。

    あ、ついでにこれも書いておこう。

    基本情報技術者試験のアセンブラで採用されている「システム COMET II」なんですけど、これぜひ、スタックポインタと汎用レジスタの間で、データのやりとりが行えるようにしてほしいなぁ。現状では、スタックポインタの値はOSによって制御され、プログラムでは操作できないような仕様になってますけどね。
    それは、なぜかというと、近代的なプログラミング言語では、関数(サブルーチン、メソッド、プロシージャ、、、いろーんな呼び方がありますけど)への値の引き渡しにはスタックを使うのが当たり前だし、一時的な変数もスタック上に置かれることが多いからです。
    まあ、それが原因で、バッファーオーバーフローなんていう脆弱性も生まれちゃっているわけで、スタック領域をプログラムが利用することは、現代のプログラミング言語の負の側面も含めた常識になっているわけです。それを情報処理技術者試験のアセンブラで取り上げることは、情報処理技術者の質の向上と言った面で意味のあることになります。まあ、不満があるにはあるのですが、スタックポインタと汎用レジスタの間でのデータのやりとりが可能になれば、近代的な意味で出題に幅が広がるわけですね。
    いつまでもサブルーチンへの値の引き渡しに、レジスタつかっているなんて、ないでしょうよ。レジスタ依存していたら、それこそ移植性に問題でちゃうじゃん。

    こんな問題も作れるしさぁ。。。

    問 以下のアセンブルコードは、どのC言語のプログラムをコンパイルしたものか。選択肢の中から記号で答えよ。

    問 C言語から4バイト長符号なし整数に格納したIPアドレスとサブネットマスクを引き渡すとそのネットワークのブロードキャストアドレスを4バイト長符号なし整数を戻す関数 unsigned int getBroadcastAddress(unsigned int ip, unsigned int mask) を、CASL IIで記述した以下のプログラムについて設問に答えよ。ただし、C言語のプログラムを「システム COMET II」で動作させるための、拡張OSやコンパイラなどの仕様は巻末の資料を参照すること。

    うぷぷ。

    なんだったら、整数限定のサブセットでシステム COMET II用、C言語のクロスコンパイラ、オープンソースで提供してもいいでっせぇ(大笑。

    パブリックコメントの募集があったら、この件を出しておこう。。。って、忘れるんだよなぁ、いつも(笑

    2010年10月18日月曜日

    dd_ssh なのかな

    こすげです。

    先月からSSHポートに対する攻撃が増えてしています(このページの一番下をご覧ください)が、どうもそれは「dd_ssh」なるブルートフォース・アタックが原因みたいです。どうも、これは、phpMyAdminというツールの脆弱性を使って、/tmp に、dd_ssh という ssh ポートを対象にブルートフォース・アタックをやらかすものみたいですね(情報源はここ)。この記事が出たのが8月の中旬ですけど、9月からうちのサイトへの攻撃も増加傾向にあります。
    一時、日本国内からの攻撃も減っていたのですが、今月に入ってから連続して4件攻撃が起きています。そのほとんどが、dd_sshの仕業みたいです。で、このツール、どこかで日本のサイト用の辞書を取り込んだらしく、日本人の名前を使ってくるので、よくある名字や名前をIDにしちゃっているところは、注意が必要でしょうね。
    うちの学校も、以前ログインIDは学籍番号を使用していたのですが、それだと1人のIDが分かると芋づる式にIDが分かっちゃう。だから、ログインIDも「学籍番号+ランダムな文字列」にして、芋づる式に分からない様にしろって、口を酸っぱくして言っていたんですが、ようやく今年度からそうなったみたいです。

    しかし、phpMyAdminってツールは使ったことが無いのでわからないのですが、そんなに便利なツールなんでしょうかねぇ。sshで接続できればそれで済んじゃうような気がするのですが、最近の技術者はコマンドラインを叩くのがそんなに嫌なのかなぁ。
    でも、考えてみると、どうもサーバの設定にGUIツールを使うこと、それがクラッカー天国になっている原因じゃないようです。様はLinuxでもなんでも、サーバを立てる敷居が低くなっていることが問題で、よくわかっていない技術者、会社でも簡単にサーバを立てることができてしまうことが、原因みたいです。だって、phpMyAdminを使ったって、ちゃんとセキュリティを確保することは可能なはずなんですけど、それができていないんですから。

    どうも僕達は、都合の悪いことは道具のせいにしたがる傾向あるので、phpMyAdminが悪いなんて思っちゃうわけですね。

    ITProにも「Linuxは本当に安くて安心か」って記事が出ていましたけど(記事を読んでみると僕の主張とはちがー内容ですけどね)、Linuxを使っても安心じゃないんです。でもWindowsは、Linux以上に技術者の質がものをいうと思いますね。生半可な知識でサーバを立ててインターネットで公開したら、即、って感じがします。もちろん十分に熟達した技術者がサーバを立てれば、どのOSを使っても比較的安全なサイトが出きるんでしょうね。僕ではWindowsサーバは扱えませんが。。。

    まず、インターネット上でセキュリティを確保するためには、何をすることが必要か。そのことが分からず、ノウハウ本を見よう見まねでサーバを立てちゃう、安易な技術者や会社が後を立たないのが原因の様に思います。もちろん、僕のサイトだって、いつクラックされるか分かりません。だから偉そうなことは言えないのですが。。。

    「他力本願」、いやぁ、僕、この言葉大好きなんですけど(笑。なんだかなぁ。世間はおじさんに楽をさせてくれない。こんな世の中間違っているね。絶対

    がんばれ!!!ゲイツくん 関連のメモ

    こすげです。最近めっきり歳をとってしまい、こんなことも覚えられなくなってしまったので、メモを載せておきます。
    え、「ここにメモを作ったことを忘れないか」って? あー、ここに載せておけば誰かさんに聞けば、どこにあるか教えてもらえますから。

    Linux初出

    雇用対策ジョーク

    KNOPPIX初出

    いちばん有名なスパムメールの話

    KNOPPIX for MPI

    2010年10月17日日曜日

    KNOPPIXの思い出

    こんばんは、こすげです
    須崎さんが「日本OSS貢献者賞」を受賞し、うちの卒業生の塚田君が「2010年度日本OSS奨励賞」を受賞したので、まあ、なんというか私とKNOPPIXとの出会いと思い出をまとめておこうと思います。

    KNOPPIXのことを始めて知ったのは、がんばれ!!ゲイツ君というWebページででした。当時、僕はうちの学校で「コンピュータネットワーク研究科」という学科の責任者をしていて、学科の主要OSとしてLinuxを使っていたのですが、学生がなかなか自宅のパソコンでLinuxをインストールしてくれないことに悩んでいたんですね。どんなに学生に対してサポートをしてもおよそ3割の学生しか、自宅の環境にLinuxをインストールしてくれない。それを何とかしたいと思っていました。
    そんなときに、がんばれ!!ゲイツ君に掲載されていたKNOPPIXに飛びついたわけですが、それは2003年初秋のことだったと思います。ちょうど直後に、新宿NSビルで「Linux World」が開催され、そこに出展していた須崎さんと始めてお会いしました。
    そのときに、今でも使っていますが、algolAlpha という教育用インタープリタで、「関西オープンソース・フリーソフト」というイベントに出店する予定でしたので、そのことを須崎さんに伝え、大阪で須崎さんとKNOPPIXのBOFに参加することになりました。そのBOFで、拓殖大学の佐々木先生や、Alpha Systems の千葉さんとも知りありになり、私のKNOPPIXライフが開始されることになったのです。
    翌年の3月、慶応大学湘南校舎で開催された情報処理学会で東北学院大学の志子田先生とも知り合いになり、私のKNOPPIX人脈はできあがったのですが、そのときに特筆すべきことは、「USB-KNOPPIX」のアイディアがパネルセッションでの雑談で生まれたことです。
    今でこそ、USBメモリはとても安価になって、しかも、USBメモリからPCを起動するという発想は常識になっていますが、2004年当時はかなり高価で、USBメモリにOSを格納してそこからPCをブートするという発想はありませんでした。ですが、うちの丸山君の「syslinux」をUSBメモリーからKNOPPIXをブートすることが可能ではないかという発想で作られたKNOPPIX512Mは動作するマザーボードのBIOSメーカーは選ぶものの、実用レベルでUSBメモリーからOSを起動する先駆けになった、とても思い出深いものになりました。
    その後、USB-KNOPPIXは256MBバージョンの開発、64MByteバージョンの開発などさまざまなバージョンが開発され、Trubo Linuxが発売した wizpy にもその技術が利用されるなどしましたが、現在ではUSBメモリからのOSの起動は常識的なものになってゆきました。うちの実習室で実証実験を行い、それがCECのOSCプロジェクトの仙台チームで利用された、CFカードをIDE接続しそこからOSを起動する技術の開発など、さまざまな面での展開をすることができました。
    そして、現在日本各地で実施されている「オープンソース・カンファレンス」の初回をうちの学校の7号館で行えたことも良い思い出です。
    また、今では学校関係のCMSとして広く使われている「NetCommons」の国立情報学研究所の新井先生とも、共同研究を行わせて頂き、NetCommosの研修用に「KNOPPIX for NetCommos」の開発を行い、そして技術移転を行ったことも良い思い出です。実はこの10月の頭に、新車を買ったのが嬉しくて、嫁の父母を誘って草津温泉に行ったのですが、その道すがら軽井沢のそば屋で新井先生ご一行に、偶然お会いしたのには、とても驚きました。

    こう書いてみると、単なるLinuxユーザーであった私が、オープンソース・シーンに登場できたのも、KNOPPIXのおかげと言うわけで、今回の須崎さんの「日本OSS貢献者賞」受賞は、ある意味で自分が受賞したことよりも、何倍も嬉しいわけです。

    と、同時にうちの卒業生の塚田君が「2010年度日本OSS奨励賞」をしたことも、すごい嬉しい。塚田君のことは、彼が1年の冬に行われた、卒業生の作品発表会で知ったのですが、確か「タイムレコーダー」のプログラムで卒業生に混じって、1年生の塚田君が作品発表をしていたときだと思います。それ以来、彼の活躍は漏れ聞いていたのですが、3年(塚田君がいたのは3年生学科)のときに、ぜひ学会発表をしてもらおうということで、情報処理学会に発表を行い、その予稿、および発表の指導をしたわけです。そのときのテーマが、「KNOPPIXを使ってPHP学習環境を作成する」というものであり、やっぱりKNOPPIXに関連したものであったわけです。

    まあ、何にしても、KNOPPIXは僕にとって、忘れ得ぬLinuxのディストリビューションであり、もし私が死んで(多分いずれ死ぬでしょう)墓碑銘が必要になった時には、「USB-KNOPPIX」と彫ってもらおうかと本気で考えていたりする今日この頃です。

    実装屋として、OS作りやプロデュースなどは専門外で、自分にとって珠玉のプロダクトは、教育用インタープリタである「algol Alpha」と、「open CASL」なのですが、人生ままならないもので、KNOPPIXでの方が有名になってしまったのも、運命というものなんでしょうね。
    しかし、USB-KNOPPIXが始めて起動した時に、体中が血液が沸き立ち逆流したような感覚は、いまでも忘れられない感覚です。

    2010年10月16日土曜日

    テンプレート

    こんにちは、こすげです

    今日はすることがないのに出勤なので、暇をもてあましてます。午後は休みを取ってかえろう。

    で、前からもここで愚痴っているのですが、不正アクセスが絶えない。不正アクセスのリアルタイム情報は、ここここで公開しているのですが、まー、飽きもせずよく来ること。でも考えてみれば、「飽きない」「疲れない」「正確」「速い」ってのが、コンピュータが人間より優れている点なので、しょうがないかなとも思います。

    僕は日本から不正アクセスがあったときには、そのサイトの管理者などに通報しているのですが、ある特定のレンタルサーバ会社のホストから不正アクセスがあったので、サイトの管理者とそのレンタルサーバの会社に通報したところ以下のようなメールが戻ってきました

    =====返信メール(ここから)=====
    日本電子専門学校 情報系主任研究員
    小菅 貴彦 様


    お世話になっております。
    ○○○○○○○○○○株式会社と申します。

    この度は大変ご迷惑をお掛けしまして、誠に申し訳ございません。

    該当IPアドレスを調査したところ、
    弊社契約者が利用するレンタルサーバにて、
    特定アカウントがクラッキングを受け不正なファイルが設置されていることを
    確認いたしました。

    上記に伴いクラッキングを受けたアカウントのパスワードを削除の上
    不正ファイルの移動を行ったことをご報告いたします。
    =====返信メール(ここまで)=====

    このメールを受けたのが、今年の8/20なんです。で、また2~3日前に、同じレンタルサーバ会社のホストから不正アクセスを受けて、通報メールを出したのですが、その内容が

    =====返信メール(ここから)=====
    小菅 貴彦 様


    お世話になっております。
    ○○○○○○○○○○株式会社と申します。

    この度は大変ご迷惑をお掛けしまして、誠に申し訳ございません。

    該当IPアドレスを調査したところ、
    弊社契約者が利用するレンタルサーバにて、
    特定アカウントがクラッキングを受け不正なファイルが設置されていることを
    確認いたしました。

    上記に伴いクラッキングを受けたアカウントのパスワードを無効とした上
    不正ファイルの移動を行ったことをご報告いたします。

    ※上記に併せサーバ設定を見直すよう
    契約者まで連絡しております。
    =====返信メール(ここまで)=====

    わはは、お分かりでしょうか、8/10に受信したお詫びメールとほぼ同文なんですね。特に

    =====ここから=====
    該当IPアドレスを調査したところ、
    弊社契約者が利用するレンタルサーバにて、
    特定アカウントがクラッキングを受け不正なファイルが設置されていることを
    確認いたしました。

    上記に伴いクラッキングを受けたアカウントのパスワードを無効とした上
    不正ファイルの移動を行ったことをご報告いたします。
    =====ここまで=====

    の部分は、まったく同文、テンプレートなんですね。わはは、このレンタルサーバの会社では、不正アクセスのお詫びってテンプレートを作るほど日常茶飯事なんでしょうかねぇ。うちに不正アクセスをしてきた手口から考えると、phpMyAdminだったかな、たぶんそのツールの脆弱性をついてアカウントハックされ、なにやらスクリプトを仕込まれた感じなんですけど、いちいちお詫びメールを書くのもめんどくさいので、テンプレートを作ったんでしょうか。

    まあ、phpMyAdminってソフトには脆弱性がたくさんあるというか、わかっているというのか、以下のようなHTTPに対するアクセスが多数観測されています。

    =====アクセスログ(ここから)=====
    [Tue Oct 12 04:02:36 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/w00tw00t.at.blackhats.romanian.anti-sec:)
    [Tue Oct 12 04:02:38 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/scripts
    [Tue Oct 12 04:02:38 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/admin
    [Tue Oct 12 04:02:39 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/admin
    [Tue Oct 12 04:02:40 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/admin
    [Tue Oct 12 04:02:41 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/db
    [Tue Oct 12 04:02:42 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/dbadmin
    [Tue Oct 12 04:02:42 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/myadmin
    [Tue Oct 12 04:02:43 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/mysql
    [Tue Oct 12 04:02:44 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/mysqladmin
    [Tue Oct 12 04:02:45 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/typo3
    [Tue Oct 12 04:02:45 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpadmin
    [Tue Oct 12 04:02:46 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin
    [Tue Oct 12 04:02:47 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpmyadmin
    [Tue Oct 12 04:02:48 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpmyadmin1
    [Tue Oct 12 04:02:48 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpmyadmin2
    [Tue Oct 12 04:02:49 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/pma
    [Tue Oct 12 04:02:50 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/web
    [Tue Oct 12 04:02:51 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/xampp
    [Tue Oct 12 04:02:52 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/web
    [Tue Oct 12 04:02:52 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/php-my-admin
    [Tue Oct 12 04:02:53 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/websql
    [Tue Oct 12 04:02:54 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpmyadmin
    [Tue Oct 12 04:02:55 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin
    [Tue Oct 12 04:02:55 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2
    [Tue Oct 12 04:02:56 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/php-my-admin
    [Tue Oct 12 04:02:57 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.2.3
    [Tue Oct 12 04:02:58 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.2.6
    [Tue Oct 12 04:02:58 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.1
    [Tue Oct 12 04:02:59 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.4
    [Tue Oct 12 04:03:00 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.5-rc1
    [Tue Oct 12 04:03:01 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.5-rc2
    [Tue Oct 12 04:03:02 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.5
    [Tue Oct 12 04:03:02 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.5-pl1
    [Tue Oct 12 04:03:03 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.6-rc1
    [Tue Oct 12 04:03:04 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.6-rc2
    [Tue Oct 12 04:03:05 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.6
    [Tue Oct 12 04:03:05 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.7
    [Tue Oct 12 04:03:06 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.5.7-pl1
    [Tue Oct 12 04:03:07 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-alpha
    [Tue Oct 12 04:03:08 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-alpha2
    [Tue Oct 12 04:03:08 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-beta1
    [Tue Oct 12 04:03:09 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-beta2
    [Tue Oct 12 04:03:10 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-rc1
    [Tue Oct 12 04:03:11 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-rc2
    [Tue Oct 12 04:03:12 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-rc3
    [Tue Oct 12 04:03:12 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0
    [Tue Oct 12 04:03:13 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-pl1
    [Tue Oct 12 04:03:14 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-pl2
    [Tue Oct 12 04:03:15 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.0-pl3
    [Tue Oct 12 04:03:15 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.1-rc1
    [Tue Oct 12 04:03:16 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.1-rc2
    [Tue Oct 12 04:03:17 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.1
    [Tue Oct 12 04:03:18 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.1-pl1
    [Tue Oct 12 04:03:18 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.1-pl2
    [Tue Oct 12 04:03:19 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.1-pl3
    [Tue Oct 12 04:03:20 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.2-rc1
    [Tue Oct 12 04:03:21 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.2-beta1
    [Tue Oct 12 04:03:22 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.2-rc1
    [Tue Oct 12 04:03:22 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.2
    [Tue Oct 12 04:03:23 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.2-pl1
    [Tue Oct 12 04:03:24 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.3
    [Tue Oct 12 04:03:25 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.3-rc1
    [Tue Oct 12 04:03:25 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.3
    [Tue Oct 12 04:03:26 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.3-pl1
    [Tue Oct 12 04:03:27 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.4-rc1
    [Tue Oct 12 04:03:28 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.4-pl1
    [Tue Oct 12 04:03:29 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.4-pl2
    [Tue Oct 12 04:03:29 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.4-pl3
    [Tue Oct 12 04:03:30 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.4-pl4
    [Tue Oct 12 04:03:31 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.6.4
    [Tue Oct 12 04:03:32 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.7.0-beta1
    [Tue Oct 12 04:03:32 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.7.0-rc1
    [Tue Oct 12 04:03:33 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.7.0-pl1
    [Tue Oct 12 04:03:34 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.7.0-pl2
    [Tue Oct 12 04:03:35 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.7.0
    [Tue Oct 12 04:03:35 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0-beta1
    [Tue Oct 12 04:03:36 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0-rc1
    [Tue Oct 12 04:03:37 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0-rc2
    [Tue Oct 12 04:03:38 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0
    [Tue Oct 12 04:03:39 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0.1
    [Tue Oct 12 04:03:39 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0.2
    [Tue Oct 12 04:03:40 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0.3
    [Tue Oct 12 04:03:41 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.0.4
    [Tue Oct 12 04:03:42 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.1-rc1
    [Tue Oct 12 04:03:42 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.1
    [Tue Oct 12 04:03:43 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpMyAdmin-2.8.2
    [Tue Oct 12 04:03:44 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/sqlmanager
    [Tue Oct 12 04:03:45 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/mysqlmanager
    [Tue Oct 12 04:03:46 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/p
    [Tue Oct 12 04:03:46 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/PMA2005
    [Tue Oct 12 04:03:47 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/pma2005
    [Tue Oct 12 04:03:48 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpmanager
    [Tue Oct 12 04:03:49 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/php-myadmin
    [Tue Oct 12 04:03:50 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/phpmy-admin
    [Tue Oct 12 04:03:50 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/webadmin
    [Tue Oct 12 04:03:51 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/sqlweb
    [Tue Oct 12 04:03:52 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/websql
    [Tue Oct 12 04:03:53 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/webdb
    [Tue Oct 12 04:03:54 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/mysqladmin
    [Tue Oct 12 04:03:55 2010] [error] [client 213.136.108.190] File does not exist: /var/www/html/mysql-admin
    =====アクセスログ(ここまで)=====

    ひぇ~~~~、phpMyAdminの各バージョンを見つけているのかぁ。すげーな、これ。まあ、これを見れば、どんなアプリのどんなバージョンに脆弱性があるかまるわかりなんですけどね。ちなみに、この 213.136.108.190 ってIPアドレス、アフリカのコートジボアールのもので、80番ポートでアクセスしてみると「It works!」って表示されるんで、apacheが動いていそうですね。

    で、たぶん件のレンタルサーバ会社のホストも、こんな感じの攻撃によってアカウントハックされたんじゃないかと思います。アカウントハックされたサイトは、あるNPO法人と、なんとかって自動車関連の会社のサイトなんですけど、そのNPO法人からは
    =====ここから=====
    小菅様

    お世話になります。
    小生、○○○○を運営している○○○○の代表をしている○○○○と申します。
    この度は、ご連絡頂き誠にありがとうございました。また、ご迷惑をおかけし失礼致しました。
    申し訳ありませんでした。
    早速、当サイトの管理をしているシステム会社さんに連絡をし、不正アクセス排除の対応を致した次第です。

    正直、メールを読んで驚きました。
    当サイトは、環境問題を取り扱っているサイトで、こういう表現は正しいかどうかはわかりませんが、真面目に環境を考えている人たちが集うサイトです。加えて研究機関とも連携して貴重なデータ収集も実施しているものですから、今後、さらにセキュリティー・レベルを上げなければと、気付かせていただいた次第です。

    大変ご迷惑をおかけし恐縮していると同時に、貴重なご連絡、誠にありがとうございました。
    感謝申し上げます。

    今後とも、どうぞ宜しくお願い申し上げます。

    以上
    ○○○○拝
    =====ここまで=====

    ってな感じで、すごい真面目なメールが届いたのですが、セキュリティに関して普通の素人さんレベルの知識と、一般社会人として必要にして十分な知識経験をお持ちの方が、うちのサイトに不正アクセスをしてきたサーバーのレンタル主さんなんですね。
    で、アカウントハックってことなんですけど、同じレンタルサーバ会社が運営している、まったく違うレンタル主さんのサーバが、同じような手口でアカウントハックされるって、たしかにレンタル主さんの責任ではあるのでしょうけど、レンタルサーバ会社に問題はないんでしょうかねぇ。どんな契約になっているのかよくわかりませんが、こんな善良で真面目な?レンタル主さんに代わって、このレンタルサーバ業者さん、セキュリティ面でユーザーの信頼を得るためのベストワークをしているとは決して思えなかったりするのですが。。。

    もう1つの自動車関連の会社さんの場合は、もっと問題で、メールを出したら、結果としてリジェクとされて戻ってきちゃったんですけど、そのメールの転送先が丸見え・・・・、IDがエイリアスで、転送先のIDが(その担当さんが退職されたとかかな)無効になって、エイリアスの書き換えが行われていない・・・なぁんて、お粗末な状況で、しかもSMTPサーバの製品名やバージョンまで丸見え・・・。これってレンタルサーバ会社としてやばくない?

    まあ、わりと有名なレンタルサーバ会社さんみたいなんですけど、あんまりお勧めできる会社ではないようです。

    2010年10月15日金曜日

    「2010年度日本OSS貢献者賞・日本OSS奨励賞」

    こすげです。嬉しいことがあったので、本日2度目の投稿です。

    うーん、わたし、とりあえず自称 KNOPPIX 関係者なんですけど、KNOPPIX 関連で、産総研の須崎さんが、「2010年度日本OSS貢献者賞」を受賞したとの知らせが入ってきました。KNOPPIXはCD-ROMから起動するLinuxのディストリビューションの先駆けで、開発はドイツ人なのですが、須崎さんがこれに目をつけ日本語化して公開したものです

    で、実は、うちの卒業生も、同時に「2010年度日本OSS奨励賞」を受賞しちゃったんで、すげーうれしいわけです。

    塚田 朗弘(つかだ あきひろ)⽒
    学校法人 日本電子専門学校内のコミュニティ活動「電設部」においてIT勉強会プロジェクトのリーダ
    ーを務めた。OSS技術者の貴重な情報交換や連携の機会となっている勉強会を学生にも浸透させよう
    と考え、社会人向けの勉強会に積極的に参加するとともに、学生向けの勉強会を主催した。現在は、
    電設部の仲間が立ち上げた「SetucoCMS9」の主要メンバーとして、SourceForge、GitHub等で活動
    を続けている。

    ってのが、受賞の理由なんだそうで。。。自分が受賞したより(しないけど)、たぶん嬉しい

    勝手に圧縮するんじゃねぇよ

    こんにちは、こすげです。
    ブログというのは、更新をすると連続してしまうもので、昨日更新したら今日も更新したくなってしまいました。

    で、今日のお題は、講義ネタについてです。ええと今週末に情報処理技術者試験があるので、嫌で嫌でたまらなかった講義での試験対策も今週で終わり、来週からはまともな(?)ネットワークの講義ができちゃうんですねぇ。学生さんからみたら、災厄のはじまりなんですけどね。

    で、まず初回の講義で、HTTPサーバとWebブラウザのデータのやりとりを tcpdump でリアルタイムに観測するのを実演しようと思って、とりあえず自分でやってみたんですけどね。

    とりあえず、職場のサーバにかーんたんなhtmlドキュメントを作成して、クライアントで tcpdump を起動し、同時にブラウザを起動して、サーバー上のhtmlドキュメントにアクセスしてみました。
    アドレスバーに入力したのは
    「http://kserv.jec.ac.jp/test.html」
    なんで、まず、「http:」ってのは HTTPプロトコルだよーん。って意味で、「kserv.jec.ac.jp」はコンテンツが置いてあるサーバのFQDN、で、そのサーバの「/test.html」ってコンテンツを取ってきて表示しろって意味だってことは、さらりと流して(こんなこともわかんない、想像できないなら、情報科学や情報技術を学ぶ資格なし)ですね、さくっとパケットの中身を見ちゃう訳です。
    # tcpdump -vv -s 8192 -X -i eth0 tcp port http
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 8192 bytes
    
    コネクション張り(Client->Server SYN)
    11:44:19.516906 IP (tos 0x0, ttl 64, id 37211, offset 0, flags [DF], proto TCP (6), length 60)
        kosuge00.jd.jec.ac.jp.50233 > kserv.jec.ac.jp.http: Flags [S], cksum 0x988d (correct), seq 1342296679, win 5840, options [mss 1460,sackOK,TS val 344892 ecr 0,nop,wscale 6], length 0
     0x0000:  4500 003c 915b 4000 4006 3af1 c0a8 0110  E..<.[@.@.:.....
     0x0010:  da2d d289 c439 0050 5001 d267 0000 0000  .-...9.PP..g....
     0x0020:  a002 16d0 988d 0000 0204 05b4 0402 080a  ................
     0x0030:  0005 433c 0000 0000 0103 0306            ..C<........
    
    コネクション張り(Server -> Client SYN+ACK)
    11:44:19.523040 IP (tos 0x0, ttl 62, id 0, offset 0, flags [DF], proto TCP (6), length 60)
        kserv.jec.ac.jp.http > kosuge00.jd.jec.ac.jp.50233: Flags [S.], cksum 0xb20a (correct), seq 1515273536, ack 1342296680, win 5792, options [mss 1460,sackOK,TS val 1510733064 ecr 344892,nop,wscale 2], length 0
     0x0000:  4500 003c 0000 4000 3e06 ce4c da2d d289  E..<..@.>..L.-..
     0x0010:  c0a8 0110 0050 c439 5a51 3d40 5001 d268  .....P.9ZQ=@P..h
     0x0020:  a012 16a0 b20a 0000 0204 05b4 0402 080a  ................
     0x0030:  5a0b f508 0005 433c 0103 0302            Z.....C<....
    
    コネクション張り(Client -> Server ACK)
    11:44:19.523130 IP (tos 0x0, ttl 64, id 37212, offset 0, flags [DF], proto TCP (6), length 52)
        kosuge00.jd.jec.ac.jp.50233 > kserv.jec.ac.jp.http: Flags [.], cksum 0xf70f (correct), seq 1, ack 1, win 92, options [nop,nop,TS val 344898 ecr 1510733064], length 0
     0x0000:  4500 0034 915c 4000 4006 3af8 c0a8 0110  E..4.\@.@.:.....
     0x0010:  da2d d289 c439 0050 5001 d268 5a51 3d41  .-...9.PP..hZQ=A
     0x0020:  8010 005c f70f 0000 0101 080a 0005 4342  ...\..........CB
     0x0030:  5a0b f508                                Z...
    
    HTTPのGETコマンド(client -> Server GET /test.html .......)
    11:44:19.523466 IP (tos 0x0, ttl 64, id 37213, offset 0, flags [DF], proto TCP (6), length 516)
        kosuge00.jd.jec.ac.jp.50233 > kserv.jec.ac.jp.http: Flags [P.], cksum 0x7066 (incorrect -> 0xefd4), seq 1:465, ack 1, win 92, options [nop,nop,TS val 344899 ecr 1510733064], length 464
     0x0000:  4500 0204 915d 4000 4006 3927 c0a8 0110  E....]@.@.9'....
     0x0010:  da2d d289 c439 0050 5001 d268 5a51 3d41  .-...9.PP..hZQ=A
     0x0020:  8018 005c 7066 0000 0101 080a 0005 4343  ...\pf........CC
     0x0030:  5a0b f508 4745 5420 2f74 6573 742e 6874  Z...GET./test.ht
     0x0040:  6d6c 2048 5454 502f 312e 310d 0a48 6f73  ml.HTTP/1.1..Hos
     0x0050:  743a 206b 7365 7276 2e6a 6563 2e61 632e  t:.kserv.jec.ac.
     0x0060:  6a70 0d0a 436f 6e6e 6563 7469 6f6e 3a20  jp..Connection:.
     0x0070:  6b65 6570 2d61 6c69 7665 0d0a 4361 6368  keep-alive..Cach
     0x0080:  652d 436f 6e74 726f 6c3a 206e 6f2d 6361  e-Control:.no-ca
     0x0090:  6368 650d 0a50 7261 676d 613a 206e 6f2d  che..Pragma:.no-
     0x00a0:  6361 6368 650d 0a41 6363 6570 743a 2061  cache..Accept:.a
     0x00b0:  7070 6c69 6361 7469 6f6e 2f78 6d6c 2c61  pplication/xml,a
     0x00c0:  7070 6c69 6361 7469 6f6e 2f78 6874 6d6c  pplication/xhtml
     0x00d0:  2b78 6d6c 2c74 6578 742f 6874 6d6c 3b71  +xml,text/html;q
     0x00e0:  3d30 2e39 2c74 6578 742f 706c 6169 6e3b  =0.9,text/plain;
     0x00f0:  713d 302e 382c 696d 6167 652f 706e 672c  q=0.8,image/png,
     0x0100:  2a2f 2a3b 713d 302e 350d 0a55 7365 722d  */*;q=0.5..User-
     0x0110:  4167 656e 743a 204d 6f7a 696c 6c61 2f35  Agent:.Mozilla/5
     0x0120:  2e30 2028 5831 313b 2055 3b20 4c69 6e75  .0.(X11;.U;.Linu
     0x0130:  7820 6936 3836 3b20 656e 2d55 5329 2041  x.i686;.en-US).A
     0x0140:  7070 6c65 5765 624b 6974 2f35 3334 2e33  ppleWebKit/534.3
     0x0150:  2028 4b48 544d 4c2c 206c 696b 6520 4765  .(KHTML,.like.Ge
     0x0160:  636b 6f29 2043 6872 6f6d 652f 362e 302e  cko).Chrome/6.0.
     0x0170:  3437 322e 3633 2053 6166 6172 692f 3533  472.63.Safari/53
     0x0180:  342e 330d 0a41 6363 6570 742d 456e 636f  4.3..Accept-Enco
     0x0190:  6469 6e67 3a20 677a 6970 2c64 6566 6c61  ding:.gzip,defla
     0x01a0:  7465 2c73 6463 680d 0a41 6363 6570 742d  te,sdch..Accept-
     0x01b0:  4c61 6e67 7561 6765 3a20 6a61 2c65 6e2d  Language:.ja,en-
     0x01c0:  5553 3b71 3d30 2e38 2c65 6e3b 713d 302e  US;q=0.8,en;q=0.
     0x01d0:  360d 0a41 6363 6570 742d 4368 6172 7365  6..Accept-Charse
     0x01e0:  743a 2053 6869 6674 5f4a 4953 2c75 7466  t:.Shift_JIS,utf
     0x01f0:  2d38 3b71 3d30 2e37 2c2a 3b71 3d30 2e33  -8;q=0.7,*;q=0.3
     0x0200:  0d0a 0d0a                                ....
    
    命令を正常に受領したことに対するACK(Server -> Client ACK)
    11:44:19.526557 IP (tos 0x0, ttl 62, id 51277, offset 0, flags [DF], proto TCP (6), length 52)
        kserv.jec.ac.jp.http > kosuge00.jd.jec.ac.jp.50233: Flags [.], cksum 0xeee1 (correct), seq 1, ack 465, win 1716, options [nop,nop,TS val 1510733069 ecr 344899], length 0
     0x0000:  4500 0034 c84d 4000 3e06 0607 da2d d289  E..4.M@.>....-..
     0x0010:  c0a8 0110 0050 c439 5a51 3d41 5001 d438  .....P.9ZQ=AP..8
     0x0020:  8010 06b4 eee1 0000 0101 080a 5a0b f50d  ............Z...
     0x0030:  0005 4343                                ..CC
    
    クライアントへコンテンツを戻す(Server -> Client レスポンスコード 200)☆☆☆
    11:44:19.533314 IP (tos 0x0, ttl 62, id 51279, offset 0, flags [DF], proto TCP (6), length 726)
        kserv.jec.ac.jp.http > kosuge00.jd.jec.ac.jp.50233: Flags [P.], cksum 0x4275 (correct), seq 1:675, ack 465, win 1716, options [nop,nop,TS val 1510733074 ecr 344899], length 674
     0x0000:  4500 02d6 c84f 4000 3e06 0363 da2d d289  E....O@.>..c.-..
     0x0010:  c0a8 0110 0050 c439 5a51 3d41 5001 d438  .....P.9ZQ=AP..8
     0x0020:  8018 06b4 4275 0000 0101 080a 5a0b f512  ....Bu......Z...
     0x0030:  0005 4343 4854 5450 2f31 2e31 2032 3030  ..CCHTTP/1.1.200
     0x0040:  204f 4b0d 0a44 6174 653a 2046 7269 2c20  .OK..Date:.Fri,.
     0x0050:  3135 204f 6374 2032 3031 3020 3032 3a34  15.Oct.2010.02:4
     0x0060:  363a 3232 2047 4d54 0d0a 5365 7276 6572  6:22.GMT..Server
     0x0070:  3a20 4170 6163 6865 0d0a 4c61 7374 2d4d  :.Apache..Last-M
     0x0080:  6f64 6966 6965 643a 2054 6875 2c20 3134  odified:.Thu,.14
     0x0090:  204f 6374 2032 3031 3020 3034 3a34 393a  .Oct.2010.04:49:
     0x00a0:  3337 2047 4d54 0d0a 4554 6167 3a20 2232  37.GMT..ETag:."2
     0x00b0:  3763 3239 652d 3234 612d 3666 6531 6661  7c29e-24a-6fe1fa
     0x00c0:  3430 220d 0a41 6363 6570 742d 5261 6e67  40"..Accept-Rang
     0x00d0:  6573 3a20 6279 7465 730d 0a56 6172 793a  es:.bytes..Vary:
     0x00e0:  2041 6363 6570 742d 456e 636f 6469 6e67  .Accept-Encoding
     0x00f0:  2c55 7365 722d 4167 656e 740d 0a43 6f6e  ,User-Agent..Con
     0x0100:  7465 6e74 2d45 6e63 6f64 696e 673a 2067  tent-Encoding:.g
     0x0110:  7a69 700d 0a43 6f6e 7465 6e74 2d4c 656e  zip..Content-Len
     0x0120:  6774 683a 2033 3434 0d0a 4b65 6570 2d41  gth:.344..Keep-A
     0x0130:  6c69 7665 3a20 7469 6d65 6f75 743d 3135  live:.timeout=15
     0x0140:  2c20 6d61 783d 3130 300d 0a43 6f6e 6e65  ,.max=100..Conne
     0x0150:  6374 696f 6e3a 204b 6565 702d 416c 6976  ction:.Keep-Aliv
     0x0160:  650d 0a43 6f6e 7465 6e74 2d54 7970 653a  e..Content-Type:
     0x0170:  2074 6578 742f 6874 6d6c 0d0a 0d0a 1f8b  .text/html......
     0x0180:  0800 0000 0000 0003 8d91 4d4f 8340 1086  ..........MO.@..
     0x0190:  effe 8a71 bde8 01a6 580f a62e 1c6c 9b68  ...q....X....l.h
     0x01a0:  526d 6330 ea71 5916 d840 d916 86d2 fe7b  Rmc0.qY..@.....{
     0x01b0:  17a9 297a 30ce 69de 999d 673e 969f cf96  ..)z0.i...g>....
     0x01c0:  d3f0 6335 878c d605 ac5e ef17 8f53 600e  ..c5.....^...S`.
     0x01d0:  e2db 788a 380b 67f0 fe10 3e2d c073 4710  ..x.8.g...>-.sG.
     0x01e0:  56a2 ac35 6953 8a02 71fe cc80 6544 9b09  V..5iS..q...eD..
     0x01f0:  62db b66e 3b76 4d95 62f8 82fb 8ee5 75c5  b..n;vM.b.....u.
     0x0200:  47d7 a141 a51b 53cc 8233 de65 8233 b0c6  G..A..S..3.e.3..
     0x0210:  3325 e2de fd92 6b45 023a b2a3 b68d def9  3%....kE.:......
     0x0220:  4c9a 9254 490e 1d36 8ac1 51f9 8cd4 9eb0  L..TI..6..Q.....
     0x0230:  c3dc 81cc 4455 2bf2 1b4a 9c5b 3660 91a6  ....DU+..J.[6`..
     0x0240:  4205 79ad aa1d b42a e2d8 07fa be78 6acc  B.y....*.....xj.
     0x0250:  2313 1f20 4aa5 294c e5b3 8bc4 9a94 0c44  #...J.)L.......D
     0x0260:  a1cb dcea b1b5 2461 f04b ee7e ea41 e3a8  ......$a.K.~.A..
     0x0270:  3032 df36 8654 c063 bdeb 4069 e9b3 4aa7  02.6.T.c..@i..J.
     0x0280:  19b1 a010 3541 b389 05a9 0978 37ce 5292  ....5A.....x7.R.
     0x0290:  733d f246 1ced db80 e3a0 fa84 ccbc 6f8a  s=.F..........o.
     0x02a0:  b4fb ab8a 053c b1b7 80e3 cc69 a554 c986  .....<.....i.T..
     0x02b0:  bb76 590b cbbc 7fcf 7529 af20 3775 932a  .vY.....u)..7u.*
     0x02c0:  220d 7f4d 6423 f662 f61f b1ff c84f ec12  "..Md#.b.....O..
     0x02d0:  dab8 4a02 0000                           ..J...
    
    クライアントからサーバにコンテンツ正常受領のACK(Client -> Server)
    11:44:19.533371 IP (tos 0x0, ttl 64, id 37214, offset 0, flags [DF], proto TCP (6), length 52)
        kosuge00.jd.jec.ac.jp.50233 > kserv.jec.ac.jp.http: Flags [.], cksum 0xf273 (correct), seq 465, ack 675, win 113, options [nop,nop,TS val 344909 ecr 1510733074], length 0
     0x0000:  4500 0034 915e 4000 4006 3af6 c0a8 0110  E..4.^@.@.:.....
     0x0010:  da2d d289 c439 0050 5001 d438 5a51 3fe3  .-...9.PP..8ZQ?.
     0x0020:  8010 0071 f273 0000 0101 080a 0005 434d  ...q.s........CM
     0x0030:  5a0b f512                                Z...
    
        ↓↓↓↓↓ 以下省略 ↓↓↓↓↓
    
    ええと、これは、OSのTCP/IPプロトコルスタックが出しているパケットと、WebサーバおよびWebクライアントが出しているパケットの2つのレベルのパケットが混在しているのですが、やはりこんなこともわかんない、想像できないようじゃ、情報科学および情報技術を学ぶ資格なしというか、想像力不足でリジェクトなんで、さくっと話を進めちゃいます。

    まー、初めの3つのパケットは、コネクションを確率するためのパケットで、教科書どおりですねーって、感じで話を進めて、4つ目のパケットは、クライアントからサーバにGET命令を出力してますよねー、で5番目のパケットはOSが出しているACKで、6つ目のパケットで、Webサーバがクライアントにコンテンツを返しているんですよー。って感じで話を・・・・って、コンテンツの部分が、なにやら文字化けじゃなくて、なにやら怪しげなデータが戻っているじゃん。なんじゃこれ???

    って感じで、しばしなんてコンテンツの内容(HTMLファイル)がプレーンで送られていないんだろう、、、これって何か圧縮して入るみたいだなぁと悩むこと数分。。。クライアントからサーバに送られたデータに


    0x0180: 342e 330d 0a41 6363 6570 742d 456e 636f 4.3..Accept-Enco
    0x0190: 6469 6e67 3a20 677a 6970 2c64 6566 6c61 ding:.gzip,defla
    0x01a0: 7465 2c73 6463 680d 0a41 6363 6570 742d te,sdch..Accept-

    おー、「Accept-Encoding」に「gzip,deflate,sdch」が送られているじゃありませんか。もしかして、これをみてWebサーバは律儀に gzip 形式で圧縮してコンテンツを送っているのかなーーー。ちいさな親切大きなお世話だなーって設定ファイルを見てみると、「/etc/httpd/conf.d」に、「deflate.conf」って設定ファイルがあるじゃありませんか。。。で、こいつの中身には
    # cat deflate.conf 
    
    
    # DEFLATEの有効化
    SetOutputFilter DEFLATE
    
    # 送信先ブラウザがNetscape 4.xの場合はtext/htmlのみ圧縮
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    
    # 送信先ブラウザがNetscape 4.06-4.08の場合は圧縮しない
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    
    # 送信先ブラウザがMSIEの場合は全て圧縮する
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    
    # 画像ファイルは圧縮しない
    SetEnvIfNoCase Request_URI\.(?:gif|jpe?g|png|iso|gz)$ no-gzip dont-vary
    
    # プロキシサーバーが圧縮未対応ブラウザへ圧縮ファイルを送信しないようにする
    Header append Vary User-Agent env=!dont-vary
    
    こんなことが書いてある。おー、送信先ブラウザがNetscape 4.xの場合はtext/htmlのみ圧縮 って設定なのね。。。じゃ。この次の行に

    BrowserMatch ^Mozilla/5 no-gzip

    ってのを追加してやって、Webサーバを再起動してやると
    12:13:09.262605 IP (tos 0x0, ttl 62, id 56354, offset 0, flags [DF], proto TCP (6), length 638)
        kserv.jec.ac.jp.http > kosuge00.jd.jec.ac.jp.34561: Flags [P.], cksum 0x59cf (correct), seq 291:877, ack 465, win 1716, options [nop,nop,TS val 1512462756 ecr 4294954927], length 586
     0x0000:  4500 027e dc22 4000 3e06 efe7 da2d d289  E..~."@.>....-..
     0x0010:  c0a8 0110 0050 8701 c7b8 86de 9867 f974  .....P.......g.t
     0x0020:  8018 06b4 59cf 0000 0101 080a 5a26 59a4  ....Y.......Z&Y.
     0x0030:  ffff cfaf 3c21 444f 4354 5950 4520 6874  .....<h
     0x00b0:  746d 6c3e 0a20 2020 203c 6865 6164 3e0a  tml>.....<head>.
     0x00c0:  2020 2020 2020 2020 3c6d 6574 6120 6874  ........<meta.ht
     0x00d0:  7470 2d65 7175 6976 3d22 636f 6e74 656e  tp-equiv="conten
     0x00e0:  742d 7479 7065 2220 636f 6e74 656e 743d  t-type".content=
     0x00f0:  2274 6578 742f 6874 6d6c 3b20 6368 6172  "text/html;.char
     0x0100:  7365 743d 7574 662d 3822 3e0a 2020 2020  set=utf-8">.....
     0x0110:  2020 2020 3c74 6974 6c65 3e6b 7365 7276  ....<title>kserv
     0x0120:  2077 6562 3c2f 7469 746c 653e 0a20 2020  .web</title>....
     0x0130:  203c 2f68 6561 643e 0a20 2020 203c 626f  .</head>.....<bo
     0x0140:  6479 2062 6763 6f6c 6f72 3d22 2366 6666  dy.bgcolor="#fff
     0x0150:  6663 6322 2061 6c69 6e6b 3d22 2333 3333  fcc".alink="#333
     0x0160:  3366 6622 206c 696e 6b3d 2223 3333 3333  3ff".link="#3333
     0x0170:  6666 2220 766c 696e 6b3d 2223 3333 3333  ff".vlink="#3333
     0x0180:  6666 223e 0a20 2020 2020 2020 203c 626c  ff">.........<bl
     0x0190:  6f63 6b71 756f 7465 3e3c 6469 7620 616c  ockquote><div.al
     0x01a0:  6967 6e3d 2272 6967 6874 223e 6c61 7374  ign="right">last
     0x01b0:  2075 7064 6174 653a 2031 342d 4f63 742d  .update:.14-Oct-
     0x01c0:  3230 3130 3c2f 6469 763e 3c2f 626c 6f63  2010</div></bloc
     0x01d0:  6b71 756f 7465 3e0a 2020 2020 2020 2020  kquote>.........
     0x01e0:  3c68 3120 616c 6967 6e3d 2263 656e 7465  <h1.align="cente
     0x01f0:  7222 3e3c 666f 6e74 2063 6f6c 6f72 3d22  r"><font.color="
     0x0200:  6772 6565 6e22 3e6b 7365 7276 2077 6562  green">kserv.web
     0x0210:  3c2f 666f 6e74 3e3c 2f68 313e 0a20 2020  </font></h1>....
     0x0220:  2020 2020 203c 626c 6f63 6b71 756f 7465  .....<blockquote
     0x0230:  3e3c 6469 7620 616c 6967 6e3d 2272 6967  ><div.align="rig
     0x0240:  6874 223e 2863 2920 6b6f 7375 6765 7474  ht">(c).kosugett
     0x0250:  6920 3230 3130 3c2f 6469 763e 3c2f 626c  i.2010</div></bl
     0x0260:  6f63 6b71 756f 7465 3e0a 2020 2020 3c2f  ockquote>.....</
     0x0270:  626f 6479 3e0a 3c2f 6874 6d6c 3e0a       body>.</html>.
    
    ってな感じで、ちゃーんと、コンテンツが無圧縮で戻されてます。
    めでたし、めでたしなんですけど、こんな短いコンテンツも圧縮してくれちゃってまぁ。ごくろうさまなこってす。

    しかし、実用度がたかまると、教え辛くなるっていう典型ですね。これは、、、
    だから、vi に gcc コンソールから手打ちがいいんだよ、まったく。ほんと最近は本質が見えにくくなって困っちゃうんだな。
    「↓↓↓↓↓ 以下省略 ↓↓↓↓↓」の下にもですねー。favicon.ico よこせだとかさぁ、いらんことやってくれちゃっているんだなー。もー死んでしまえ(笑

    2010年10月14日木曜日

    試験に思う

    前期試験が終了し、なんとなく後期に入ってしまいました。

    前期試験の採点をしていて、「あー、つまんねぇ」と思うんですね。以前は、おもしろい答案があったら、出来不出来に関わらず、単位はA(優)をつけていたのですが、最近はほんとつまんねぇ答案ばっかりで、採点していてまったくおもしろくない。
    学生にも言っているんですけどね、「おもしろい答案だったら、問答無用でA」って、ただし「ウケ狙いで外したら、怒りをかって単位を落とすこともありうる」という付け足しをするせいか、そもそもチャレンジャーがいない。

    わたしの教員生活でもっともおもしろかった答案が、こんな奴でした。
    ええと、最近はあんまりこんな形式の作問はしませんが、以前は左側に用語、右側に説明を書いて、関係あるものを線で結べって問題ありましたよね。こんな感じのヤツです

    送信者 implementers - 実装者たち -

    で、まあ、こんな問題の場合、普通は以下のように答えるのが普通なんですけど

    送信者 implementers - 実装者たち -

    それがですねぇ。うぷぷ。こんな香ばしい答案書いちゃう学生さんがいてですねぇ。わはは。しかもたどってゆくと、すべて正解にたどり着くようになっていたりするのが、玄人好みだったりするわけです。
    こぉいうのがおもしろい答案なんであって「既に整列済みの整数配列arrayに、新たに1件データを追加して、再整列させたい。その時にもっとも効率よいアルゴリズムをC言語の関数で示せ」何て問題に「まず、玉ねぎの半分はみじん切りにして、透明感がでるまで弱火で炒め・・・」なんてことを書くのは、決しておもしろい答案でも、意表をつく答案でもない。

    この答案を書いた学生さん、実はうちの学校の学生さんではないのですが、みなさん良くご存知の「M」さんで、さすがに頭がよろしい。というか、師匠にしてこの弟子ありという感じなんですかね。

    最近は、マークシートで試験を採点するため、記述式の作問がとてもしにくい。そのせいか学生さんも、記述式試験がとても苦手だったりします。プログラミングの問題ですら、ソースコードを書いておいて、その中に穴を開けて、「ここに入るべきステートメントは?」なんて感じにせざる負えないのが、かなり悲しいですね。

    2010年9月7日火曜日

    インデックスのあるソート済みコレクションなどなど

    こすげです。

    今朝方、Javaでプログラムを作っていて、インデックスのある(要は先頭からn番目とか言ってサクッとn番目の要素にアクセスできるってことね)ソート済みコレクションを内包したコンテナ・クラスを作る必要が出てきました。しかもコレクションの対象となるクラスは、抽象クラスでコンパレータ(クラスのインスタンスの大小を比較するためのメソッド)は純粋仮想メソッドというおまけつき(笑。あ、もちろん、実際にコレクションに入れるのは、コンパレータを実装したサブクラスになります。
    人から聞かれたら「んなもん、ねーから、作れ」という所なんですが、これは自分のことなんで、『作れ」といっても、だれも作ってくれない。で、作る訳なんですけど、なるべく楽をしたい訳です。
    まーず、キーなんかはいらないんで、インデックスのあるコレクションを元にするか、ソート済みのコレクションを元にするか、要は、List系かSet系(と言っても、使える実装はTreeSetしかねーじゃん)のどっちか何ですけどね。

    ここからは、朝の通勤途中、電車内で、寝て電車が揺れることに寄りかかってくるおねーちゃんを肘で小突きながら考えたこと(笑
    ここで、ソート済みになるSetの実装がTreeしかないってのが、極めて問題でして。。。わかっている人は分かっているんだと思いますが、Tree構造ってのは左右のバランスが取れてないととても効率が悪いというか、単なるLinkedListになっちゃうわけです。
    特に今回、コレクションに突っ込むデータは、ファイルに格納されていて、実は目的とは逆順にソートされている(絶対ではない経験上)。極端な話、読み込んで逆順に並べ替えてやればOKというか、まあ、仕様上目的と逆順にソートされている保証はないので、ソートしますけど。こんなデータ、Treeに読み込んだら。。。あわわ、アンバランスな木構造をバランスの取れた木構造に直すことはできますけど、Javaの、TreeSet にそんな実装入っているのかなぁ・・・。
    なぁんで、擬似インデックスを作って、「こいつの1コ前は」とか「こいつの6コ前は」とか、配列変数感覚でガンガン、アクセスするのはちょいとはばかられる、というか、年寄りは怖くてできない訳です。

    あ、擬似インデックスはこんな感じで作ろうかと(笑

    // datas means target Set Collection
        public E get(int index) throws IndexOutOfBoundsException {
            E   obj = null;
            if (0 <= index && index < datas.size()) {
                Iterator   it = datas.iterator();
                for (int i = 0; i <= index; i++) {
                    obj = it.next();
                }
            } else {
                throw new IndexOutOfBoundsException();
            }
            return obj;
        }
    
    そこで、しつこく寄っかかってくるおねーちゃんを、ひとしきり、肘でさみだれ突きをして、「やっぱぁ、ArrayListだんべや」って覚悟を決めちゃった訳です。 まぁ、たーしか、Collectionsに、sortとか、binarySearch とかあったし・・・ で、ここからは、学生に課題をやらせながら考えたこと まっ、sortはいいでしょ、コンパレータ渡すだけだしね。で問題は、binarySearch なんですね。あ、いい忘れてましたけど、要素での検索も必要なんですね。今回のプログラムでは。で、
    binarySearch(List<? extends Comparable<? super T>> list, T key) 
    こいつも
    binarySearch(List<? extends T> list, T key, Comparator<? super T> c) 
    こいつも、keyを渡しとるやんけ。。。なめんなよ、ワレ、T は、abstract だっていうとるやないけ(笑 で、ここで、性格が実装ににじみ出てくる訳でして(笑。結局、以下参照(大爆笑
    // search by date: String
        // UnSortedArrayException is my defined.
        public int execSearch(String date) throws UnSortedArrayException {
            int    result = -1;
            if (sorted) {
                int lower = 0;
                int upper = datas.size() - 1;
                int mid, judge;
                while (lower < upper) {
                    mid = (lower + upper)/2;
                    judge = date.compareTo(datas.get(mid).getDate());
                    if (judge < 0) {
                        upper = mid - 1;
                    } else if (0 < judge) {
                        lower = mid + 1;
                    } else {
                        result = mid;
                        break;
                    }
                }
            } else {
                throw new UnSortedArrayException();
            }
            return result;
        }
    

    「老兵は死なず、ただ醜態を晒すのみ」


    Q. 先生しつもんです。タイトルの最後に「などなど」って書いてありますけど、どれが「など」なんですか?
    A. それは大人の事情なんで、質問してはいけません

    2010年9月6日月曜日

    たまにはうれしかった話を

    こすげです。

    いやぁ、(僕という)教員なんていうのは単純な脳みその持ち主で、僕が教えたことをどんな形でも、学生が記憶していてくれるとうれしいんですよね。

    かなり以前、C言語を教えていた時「C言語の配列変数名は配列の先頭要素へのポインタを表す」ということを、なんども書かせた学生がいました。その学生、あんまりC言語はできなかったのですが、卒業式後の飲み会でぐでんぐでんに酔っ払った後に、何度も何度も「C言語の配列変数名は配列の先頭要素へのポインタを表す」と新宿歌舞伎町で叫んでいました。
    いやぁ、以前は無茶な教え方をしたもんで、追試を5回やって、しかも「勉強する時間がそれだけ増えるのだから」という理由で、回が進むごとに難しくなる(笑。それでも、合格点が取れない学生には、カーニハンとリッチーを丸写しすること2回、それで卒業した学生もいましたねぇ。丸写しとは、文字通り丸写しで、イラストから何から何までそっくりに写さないとNGでした(笑。

    で、最近は、なぜかプログラミング言語を受け持たせてもらえません(大笑。持たせてもらえたとしても、「Perl」だとか生ぬるいプログラミング言語だったり、ネットワークだとか、テスト技法だとか、そんな概論的な科目ばっかりなので、多少欲求不満だったりします。以前は、「怒濤のアルゴリズム」だとか、「煩悩のC言語」だとか、「灼熱のJava」なんてストロングなプログラミング言語の課題集なんかも、少しずつ手を入れていたのですが、最近はさっぱりです。

    で、最近うれしかったというのは、このまえ来春の学会発表の件で、以前、ネットワークを教えた学生のところに行った時に、「先生、先生、バンド作ったんだ」って学生が話しかけてきたんですね。で、僕はあんまり興味がなかったんで「ふーん」って感じでいたのですが、バンド名を聞いて大笑い、、、なんと「あぷせとねでぶ」(もしかしたらカタカナかな?)っていうんだそうです。いや、お分かりの方はお分かりですよね、「あぷせとねでぶ」(笑

    あ アプリケーション層
    ぷ プレゼンテーション層
    せ セッション層
    と トランスポート層
    ね ネットワーク層
    で データリンク層
    ぶ 物理層

    って、OSI基本参照モデルの憶え方じゃん(爆笑。なんでも、その学生(あんまりできがよろしくない)によれば、これだけは憶えたと(笑。いやぁ、こんな事を言ってもらえると、僕はとっても嬉しくなってしまうわけです。

    実は、プログラマのためのネットワークのテキストってとっても困っていたりするんですね。一般のテキストは、データリンク層~トランスポート層、すなわちOSが実装している部分のボリュームがとっても大きい。でも、プログラマに必要な知識はセッション層~アプリケーション層のアプリケーションが実装すべき部分なんですね。で、実は「プログラマのためのネットワークテキスト」を書こうと思っていた矢先だったので、先にタイトルが決まっちゃいました(爆笑

    「ストロングなあぷせとねでぶ」

    なんてのは、どうでしょうねぇ。。。
    あ、設計者のお気に入り、を書くのを忘れていました(笑

    2010年8月28日土曜日

    設計者のお気に入り

    こんにちは、小菅です

    お気に入りのツールの話です。僕が一番使っている時間が長いツールはもちろんエディタなのですが、その次は何だろうってことです。僕は実装者なのですが、最低限の設計はします。嫌いですけど(笑

    で、しょうがなく設計をしている時に使っているツールは何かというと、スプレッド・シートなんですね。実装者がする設計って言うのはデータベースのスキーマだったり、テスト設計(テストケース作り)だったりするんですけど、そのときに一番役立つのがスプレッド・シートです。
    例えば、こんなクラスがあります。このクラスの単体テストを作る例で話をしてみましょう。

    このクラスは、「データが範囲内に入っているかを確認するためのクラス」なので、ブラックボックス・テスト的には
    ・範囲の設定
    ・データが範囲内に入っているかの確認
    を試す必要があります
    「範囲の設定」に関しては
    ・コンストラクタ(2番目)
    ・setLowLimit、setHighLimit、setLimit メソッド
    の機能を試すのですが、これを確認するためには、
    ・getLowLimit、getHighLimit メソッドをまず試す必要があります
    「データが範囲内に入っているかの確認」に関しては、
    ・同値クラステスト、境界値テストの手法でテスト・ケースを作ります

    まず、「JudgeRange obj = new JudgeRange();」と、デフォルトのコンストラクタで、インスタンスを作ると、範囲の下限と上限はそれぞれ0になるので、getLowLimit、getHighLimit で下限と上限を読み出して、それぞれ0になっていることを確認することで、getLowLimit、getHighLimi の動作を確認します。
    次に、「JudgeRange obj = new JudgeRange(lowLimit, highLimit);」で下限と上限を設定した、インスタンスから下限と上限を読み出し、コンストラクタの動作を確認します。
    そして、setLowLimit、setHighLimit、setLimit で下限と上限を設定してみて、設定できるかの確認
    最後に、下限と上限を設定済みのインスタンスに対して、isRangeの確認(同値クラス、境界値)
    ってストーリーができます。
    また、異常な下限と上限(上限<下限)という値を設定した時に、IllegalArgumentException がスローされるかも確かめなければなりません。

    で、このテストケースを作る時に、スプレッド・シートが便利なんです。
    じゃ、実際にはどのようテストケースを作るか・・・ここまで書くので疲れたので、それは次回にしましょう(笑

    2010年8月27日金曜日

    Fedora 13 での Java日本語文字化け問題

    すみません。こすげです。これは明らかにメモです

    まず、sunのJavaをインストールして、使えるようにします

    eclipseを使うときには・・・
    メニュー「ウインドウ」-「設定」を選択で設定ダイアログを開く
    左側のペインで「Java」「インストール済みのJRE」を選ぶ
    多分、インストールしたsun-java が表示されいないので、右側の「追加」ボタンを押す
    「JREホーム」に「/usr/java/default/jre」を選ぶと、自動的に下も埋まるので、終了ボタンを押す
    今度は、多分インストールしたsun-java が表示されるので、左側のチェックボックスにチェックを入れる
    左側のペインで「Java」「インストール済みのJRE」の下の「実行環境」を選ぶ
    実行環境にずらずら~って感じで環境が出てくるので、それぞれを選び、右側の「互換性のあるJRE」で、sun-javaのチェックボックスにチェックを入れる

    コンソールでの作業 
    ~/.bash_profile にでも、以下を登録
    環境変数 JAVA_HOME に sun-java を export JAVA_HOME=/usr/java/default
    実行パスに sun-java の bin を export PATH=$JAVA_HOME/bin:$PATH

    コンソールでの作業(ダマシフォントを作る)
    # yum -y install ipa-ex*
    # cd /usr/java/default/jre/lib/fonts
    # mkdir fallback
    # cd fallback
    # ls -s /usr/share/fonts/ipa-ex-mincho/ipaexm.ttf sazanami-mincho.ttf
    # ln -s /usr/share/fonts/ipa-ex-gothic/ipaexg.ttf sazanami-mincho.ttf

    とりあえず、以上
    うむ~、歳をとったせいか、メモを作っておかないと忘れる。
    あ、それから、sun-java じゃなくて、oracle-java になったのかな???

    しかし、何か悲しゅうて、eclipse なんぞ使わなきゃいけないんだ???
    vi と ant でいいだろうが、vi と ant で

    2010年8月24日火曜日

    これまでの人生でショックだったこと

    なんか書き足りない気分ムラムラ(笑 なので、もうちょっと書くことにします。

    これまでの人生の中で、とてもショックだったことが2つあります。

    1つ目は「悪意の存在」ってやつですね。学生時代、僕はとても恵まれた環境で育ったせいか、無関心な人の存在は知っていましたが「悪意を持った人」の存在って、小説なんかのフィクションの中にしかあり得ないと思っていたというか、そんなことを考えたこともなかったんですね。で、なーんとなく、ある電機労連に入っている会社の総合研究所に研究員として就職した時のことです。まあ、どこでもそうなんでしょうけど、その研究所も学閥というのがありまして、どちらの学閥にも属していない新入社員の僕を勧誘してくるわけです。僕は派閥というのが嫌いというか、一匹狼的なところがあるので、どちらとも等距離にいたのですが、ある期間を過ぎると双方の派閥から攻撃が始まるわけです。まあ、派閥に属している人から見ると、(派閥に属していることで)ストレスが貯まるから、誰かを攻撃したい。でも、相手の派閥に属する人を攻撃すると問題になるから、どこにも属していない僕なら、大丈夫だろう、、、って発想ですね。今なら、納得できるのですが、そのときは、その悪意の存在に、愕然としたもんです。まあ、初心だったんですね。

    で、2番目は最近気づいたのですが、「学生は高度な教育を望んではない」ってことです。僕は「学生は高度な教育を望んでいる」もんだとばっかり思っていたんですけど、どうもそうじゃないみたい、、、から、「望んでいない」ということを確信するのに至るに及んで、僕の教育意欲は、劇的に低下したもんです。
    確かに僕も学生時代、苦しいことは嫌でした(今でも、嫌ですけど)。でも、挑戦しがいがあると思ったことは、苦しいのかどうかわかんないまま、好きだから結果として一生懸命になっていました。僕の場合は、学生時代は自分の専門(放射線物理学)、卒業後はコンピュータだったんですけどね。で、少しでも高度な教育を受けようと、アメリカまで行っちゃったんですけどね。

    だから教員になって、学生に対して僕が持っている技術は惜しみなく教える。そして僕が持っている技術が、独りよがりのものじゃなくて世間一般から見ても、まあ納得のできるものだという証明をし続ける、または、僕自身が進化し続ける、ことが学生に対する最低限の義務だって思っていたのです。でも、学生(の多く)は、高度な技術なんて、教えてほしいと思っていなかった。そのことに気づいたときには、さすがにショックでした。で、まあ、現在に至っているわけです。

    void removeEOL(chat *s)
    {
        while (*s) {
            if (*s == '\n') {
                *s = '\0';
                break;
            }
            s++;
        }
    }
    

    上の関数は、fgetsによって読み込んだ1行の文字列の最後にある改行コードを取り去るC言語の関数です。
    なんで、これを唐突に書いたかというと、いくらぼけ中年になっても、この程度の関数はいつでも書けるぞ! っていう、生涯実装者としての確認のためです

    「おうおう、書いてやろうじゃん! だから、書き終わるまで、黙って待ってろ」

    ますます学生が勉強しなくなる

    小菅です。疲れています。

    学生の就職がとても厳しい状況になっています。
    まあ、NHKのニュースを見ていたら、就職が厳しいのはうちの学校だけじゃなくて、世間一般の話なんですけどね。
    で、ニュースでは政府の就職支援の話をやっていたのですが、これを見ての感想は、「確実に学生は勉強しなくなる」です。

    今でも、学生は就職活動ばっかりしていて、まじめに勉強しているとは言い難い状況です。以前は学生に「血反吐を吐くまでC言語(Javaでも、アセンブラでもOKなんですけどね)」をやらせたもんですが、今じゃそんなこと絶対にできません。確実に文句が出ます。僕が教員を始めた頃の学生の学習の到達度を100とすると、10年前では、95ぐらい、5年前では80ぐらい、そして現在では多分50を割っているでしょう。それほど急激に学生の学習意欲、学習時間が減っています。まあ、僕の教育意欲も、それと同じぐらい落ちているんですけどね。

    確かに、政府が学生の就職支援をすることはいいでしょう。でも、一番の就職支援は、景気を良くすることなんですね。安定した成長が望めれば、企業は人を取ります。仕事がない状態では企業は人を取りません。そんな状態で就職支援だけしたら、就職活動に関して、小手先のテクニックばかりの学生、、、勉強しない学生ばかり増やすだけだと思うんですけどね。

    学生さんも、就職活動ばかりにうつつを抜かさないで、ちゃんと勉強して高いスキルを身につけることが最大の就職活動だってことに気づいてほしいです。まあ、無理でしょうけど。

    このままだと、学生は勉強しない → 能力の足らない学生の大量発生 → 企業は使えない学生を採用しない → 学生は就職活動に関して小手先のテクニックに走る → 学生は勉強しない って、負のスパイラルにはまっちゃいますよ・・・って、もう、何年も前からはまっているのか。
    で、もっと怖いのが、この負のスパイラルからの脱落、、、負のスパイラルからの脱出じゃないです。脱落です。どういうことを言っているのかというと、学習する意欲はおろか、就職する意欲さえない学生の増加のことです。負のスパイラルからの脱落、これは確実に始まっています。

    いやだなぁ。。。明るい老後を期待しているのに。

    2010年8月21日土曜日

    車を買ってしまいました

    せっかくなので、これも書いておこう

    先日、車検のご案内がきました。うむ~うちの車もう15年も乗っているので、車検通すのにお金かかりそうだね-って嫁と話しているときに、テレビで「エコカー補助金9月まで」とかやっていたのをみて「買っちゃうかぁ」ってことになりました。
    きわめて淡泊なタチなので、あれこれディーラー周りをするのがめんどくさいので、最寄りの日産とホンダの店に行って、双方に「相見とるよ~」と言って見積もりをもらってきました。
    で、まあ、今でも日産車に乗っているので、「うむ~神奈川県民だからな~」ということで日産に決めてしまいました。ローンもめんどくさいので、現金購入して買うことを決めた翌日には支払ってしまい、今は、車が届くのを待つばかりです。

    で、今日、今の車につけてあった、自作のカーナビを取り外してって・・・、って話を電話で友達に話したら「え!、カーナビも自作できるの?」っと言われてしまいました。うむ、確かにカーナビって、普通自作しないかもしれない。まあ、カーナビと言っても、古いノートパソコンに秋月電子で売っているGPSモジュールをつけて、地図上に現在位置を表示されているだけなんですけどね。あと、運転しながら操作しやすいように、USB接続のスイッチボックスをつけているかな。。。これも秋月電子の、USBパラレル変換モジュールを使って、ノートPCにポーリングでスイッチの状態を読み込ませているだけなんです。運転しながらパソコンをやっていると思われて、何度かお巡りさんに停められましたけど(笑。で、その中に、赤いボタンがあってそれを押すとなんてことはないです。はい。

    で、最大の問題は、新しい車、カーナビが付いている。どうも、市販のカーナビには不信感があるので。いつだったか、レンタカーを借りたときに、カーナビが付いていたのですが、箱根で使ったときに、どうも異常な案内をするんですね。案内の通りに進んでいったら、どんどん細い道に入っていって、そんで、カーナビが指示した道通りに進んでいったら、道がない(笑。いや、あるにはあるんですけど、その道、階段なんです(大笑。
    で、Uターンしたら、カーナビのやつ、困ったあげくに「これで案内を終了します」といって黙ってしまった。家族中で大笑いしました。娘は「カーナビって困ると黙っちゃうのねー、すごい人間くさい」とか言ってましたw

    最近のカーナビってどうなんでしょうねぇ。また、困ると黙っちゃうような、カーナビが付いていたら楽しいんだけどなぁ。

    すげぇ~~~

    相変わらず、不正アクセスがらみのネタです。

    きょう、いつものように、不正アクセスを受けたので、アタック先をnmapで探ってみたら、すごい(笑
    以下を見てください。

    ===== ここから =====
    nmap 221.253.28.xxx

    Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2010-08-21 21:29 JST
    Interesting ports on 221x253x28xxxx.ap221.ftth.ucom.ne.jp (221.253.28.xxx):
    (The 194 ports scanned but not shown below are in state: closed)
    PORT STATE SERVICE
    1/tcp open tcpmux
    2/tcp open compressnet
    3/tcp open compressnet
    4/tcp open unknown
    5/tcp open rje
    6/tcp open unknown
    7/tcp open echo
    9/tcp open discard
    10/tcp open unknown
    11/tcp open systat
    12/tcp open unknown
    13/tcp open daytime
    14/tcp open unknown
    16/tcp open unknown
    17/tcp open qotd
    18/tcp open msp
    20/tcp open ftp-data
    21/tcp open ftp
    22/tcp open ssh
    24/tcp open priv-mail
    25/tcp open smtp
    26/tcp open unknown
    27/tcp open nsw-fe
    28/tcp open unknown
    29/tcp open msg-icp
    30/tcp open unknown
    31/tcp open msg-auth
    33/tcp open dsp
    34/tcp open unknown
    35/tcp open priv-print
    36/tcp open unknown
    37/tcp open time
    38/tcp open rap
    39/tcp open rlp
    40/tcp open unknown
    41/tcp open graphics
    43/tcp open whois
    44/tcp open mpm-flags
    45/tcp open mpm
    46/tcp open mpm-snd
    47/tcp open ni-ftp
    48/tcp open auditd
    49/tcp open tacacs
    50/tcp open re-mail-ck
    51/tcp open la-maint
    52/tcp open xns-time
    54/tcp open xns-ch
    55/tcp open isi-gl
    56/tcp open xns-auth
    58/tcp open xns-mail
    59/tcp open priv-file
    60/tcp open unknown
    61/tcp open ni-mail
    62/tcp open acas
    63/tcp open via-ftp
    64/tcp open covia
    65/tcp open tacacs-ds
    66/tcp open sql*net
    67/tcp open dhcpserver
    68/tcp open dhcpclient
    69/tcp open tftp
    71/tcp open netrjs-1
    72/tcp open netrjs-2
    73/tcp open netrjs-3
    76/tcp open deos
    77/tcp open priv-rje
    79/tcp open finger
    80/tcp open http
    81/tcp open hosts2-ns
    82/tcp open xfer
    83/tcp open mit-ml-dev
    84/tcp open ctf
    85/tcp open mit-ml-dev
    86/tcp open mfcobol
    87/tcp open priv-term-l
    88/tcp open kerberos-sec
    90/tcp open dnsix
    91/tcp open mit-dov
    92/tcp open npp
    93/tcp open dcp
    94/tcp open objcall
    95/tcp open supdup
    96/tcp open dixie
    97/tcp open swift-rvf
    98/tcp open linuxconf
    100/tcp open newacct
    101/tcp open hostname
    102/tcp open iso-tsap
    103/tcp open gppitnp
    104/tcp open acr-nema
    105/tcp open csnet-ns
    106/tcp open pop3pw
    107/tcp open rtelnet
    108/tcp open snagas
    109/tcp open pop2
    110/tcp open pop3
    111/tcp open rpcbind
    112/tcp open mcidas
    114/tcp open audionews
    115/tcp open sftp
    116/tcp open ansanotify
    117/tcp open uucp-path
    118/tcp open sqlserv
    119/tcp open nntp
    121/tcp open erpc
    123/tcp open ntp
    124/tcp open ansatrader
    125/tcp open locus-map
    126/tcp open unitary
    127/tcp open locus-con
    128/tcp open gss-xlicen
    129/tcp open pwdgen
    130/tcp open cisco-fna
    131/tcp open cisco-tna
    132/tcp open cisco-sys
    133/tcp open statsrv
    134/tcp open ingres-net
    136/tcp open profile
    137/tcp open netbios-ns
    139/tcp open netbios-ssn
    141/tcp open emfis-cntl
    142/tcp open bl-idm
    143/tcp open imap
    144/tcp open news
    145/tcp open uaac
    146/tcp open iso-tp0
    147/tcp open iso-ip
    148/tcp open cronus
    149/tcp open aed-512
    150/tcp open sql-net
    151/tcp open hems
    152/tcp open bftp
    153/tcp open sgmp
    154/tcp open netsc-prod
    155/tcp open netsc-dev
    156/tcp open sqlsrv
    157/tcp open knet-cmp
    158/tcp open pcmail-srv
    159/tcp open nss-routing
    160/tcp open sgmp-traps
    161/tcp open snmp
    163/tcp open cmip-man
    164/tcp open cmip-agent
    165/tcp open xns-courier
    166/tcp open s-net
    167/tcp open namp
    168/tcp open rsvd
    171/tcp open multiplex
    172/tcp open cl-1
    173/tcp open xyplex-mux
    174/tcp open mailq
    177/tcp open xdmcp
    179/tcp open bgp
    180/tcp open ris
    181/tcp open unify
    182/tcp open audit
    183/tcp open ocbinder
    184/tcp open ocserver
    185/tcp open remote-kis
    186/tcp open kis
    187/tcp open aci
    188/tcp open mumps
    189/tcp open qft
    190/tcp open gacp
    191/tcp open prospero
    193/tcp open srmp
    194/tcp open irc
    195/tcp open dn6-nlm-aud
    196/tcp open dn6-smm-red
    198/tcp open dls-mon
    199/tcp open smux
    201/tcp open at-rtmp
    202/tcp open at-nbp
    203/tcp open at-3
    204/tcp open at-echo
    205/tcp open at-5
    206/tcp open at-zis
    207/tcp open at-7
    208/tcp open at-8
    209/tcp open tam
    210/tcp open z39.50
    212/tcp open anet
    213/tcp open ipx
    214/tcp open vmpwscs
    215/tcp open softpc
    216/tcp open atls
    217/tcp open dbase
    218/tcp open mpp
    219/tcp open uarps
    221/tcp open fln-spx
    222/tcp open rsh-spx
    223/tcp open cdc
    224/tcp open unknown
    225/tcp open unknown
    226/tcp open unknown
    227/tcp open unknown
    228/tcp open unknown
    229/tcp open unknown
    230/tcp open unknown
    231/tcp open unknown
    232/tcp open unknown
    233/tcp open unknown
    234/tcp open unknown
    235/tcp open unknown
    236/tcp open unknown
    237/tcp open unknown
    238/tcp open unknown
    239/tcp open unknown
    240/tcp open unknown
    241/tcp open unknown
    242/tcp open direct
    243/tcp open sur-meas
    244/tcp open dayna
    245/tcp open link
    246/tcp open dsp3270
    247/tcp open subntbcst_tftp
    248/tcp open bhfhs
    249/tcp open unknown
    250/tcp open unknown
    251/tcp open unknown
    252/tcp open unknown
    253/tcp open unknown
    254/tcp open unknown
    258/tcp open Fw1-mc-gui
    259/tcp open esro-gen
    260/tcp open openport
    261/tcp open nsiiops
    262/tcp open arcisdms
    263/tcp open hdap
    265/tcp open maybeFW1
    267/tcp open unknown
    268/tcp open unknown
    269/tcp open unknown
    270/tcp open unknown
    271/tcp open unknown
    272/tcp open unknown
    273/tcp open unknown
    274/tcp open unknown
    275/tcp open unknown
    276/tcp open unknown
    277/tcp open unknown
    278/tcp open unknown
    279/tcp open unknown
    280/tcp open http-mgmt
    281/tcp open personal-link
    282/tcp open cableport-ax
    285/tcp open unknown
    286/tcp open unknown
    287/tcp open unknown
    288/tcp open unknown
    289/tcp open unknown
    290/tcp open unknown
    291/tcp open unknown
    292/tcp open unknown
    293/tcp open unknown
    294/tcp open unknown
    295/tcp open unknown
    296/tcp open unknown
    297/tcp open unknown
    298/tcp open unknown
    299/tcp open unknown
    301/tcp open unknown
    302/tcp open unknown
    303/tcp open unknown
    304/tcp open unknown
    305/tcp open unknown
    306/tcp open unknown
    308/tcp open novastorbakcup
    309/tcp open entrusttime
    310/tcp open bhmds
    311/tcp open asip-webadmin
    312/tcp open vslmp
    313/tcp open magenta-logic
    314/tcp open opalis-robot
    315/tcp open dpsi
    316/tcp open decauth
    317/tcp open zannet
    318/tcp open unknown
    319/tcp open unknown
    320/tcp open unknown
    321/tcp open pip
    322/tcp open unknown
    324/tcp open unknown
    325/tcp open unknown
    327/tcp open unknown
    328/tcp open unknown
    330/tcp open unknown
    331/tcp open unknown
    332/tcp open unknown
    333/tcp open unknown
    334/tcp open unknown
    335/tcp open unknown
    336/tcp open unknown
    337/tcp open unknown
    338/tcp open unknown
    341/tcp open unknown
    342/tcp open unknown
    343/tcp open unknown
    344/tcp open pdap
    345/tcp open pawserv
    347/tcp open fatserv
    348/tcp open csi-sgwp
    349/tcp open mftp
    350/tcp open matip-type-a
    351/tcp open matip-type-b
    352/tcp open dtag-ste-sb
    353/tcp open ndsauth
    354/tcp open bh611
    355/tcp open datex-asn
    356/tcp open cloanto-net-1
    357/tcp open bhevent
    358/tcp open shrinkwrap
    359/tcp open tenebris_nts
    360/tcp open scoi2odialog
    361/tcp open semantix
    362/tcp open srssend
    363/tcp open rsvp_tunnel
    364/tcp open aurora-cmgr
    365/tcp open dtk
    366/tcp open odmr
    367/tcp open mortgageware
    368/tcp open qbikgdp
    369/tcp open rpc2portmap
    370/tcp open codaauth2
    371/tcp open clearcase
    372/tcp open ulistserv
    373/tcp open legent-1
    374/tcp open legent-2
    375/tcp open hassle
    376/tcp open nip
    378/tcp open dsETOS
    379/tcp open is99c
    380/tcp open is99s
    381/tcp open hp-collector
    383/tcp open hp-alarm-mgr
    384/tcp open arns
    386/tcp open asa
    387/tcp open aurp
    388/tcp open unidata-ldm
    390/tcp open uis
    391/tcp open synotics-relay
    392/tcp open synotics-broker
    393/tcp open dis
    394/tcp open embl-ndt
    395/tcp open netcp
    396/tcp open netware-ip
    398/tcp open kryptolan
    399/tcp open iso-tsap-c2
    400/tcp open work-sol
    401/tcp open ups
    402/tcp open genie
    403/tcp open decap
    404/tcp open nced
    405/tcp open ncld
    406/tcp open imsp
    407/tcp open timbuktu
    408/tcp open prm-sm
    409/tcp open prm-nm
    410/tcp open decladebug
    411/tcp open rmt
    413/tcp open smsp
    414/tcp open infoseek
    415/tcp open bnet
    416/tcp open silverplatter
    418/tcp open hyper-g
    419/tcp open ariel1
    420/tcp open smpte
    421/tcp open ariel2
    422/tcp open ariel3
    423/tcp open opc-job-start
    424/tcp open opc-job-track
    425/tcp open icad-el
    426/tcp open smartsdp
    427/tcp open svrloc
    428/tcp open ocs_cmu
    429/tcp open ocs_amu
    430/tcp open utmpsd
    431/tcp open utmpcd
    432/tcp open iasd
    433/tcp open nnsp
    434/tcp open mobileip-agent
    435/tcp open mobilip-mn
    436/tcp open dna-cml
    437/tcp open comscm
    438/tcp open dsfgw
    439/tcp open dasp
    440/tcp open sgcp
    441/tcp open decvms-sysmgt
    442/tcp open cvc_hostd
    443/tcp open https
    444/tcp open snpp
    445/tcp open microsoft-ds
    446/tcp open ddm-rdb
    447/tcp open ddm-dfm
    448/tcp open ddm-ssl
    450/tcp open tserver
    451/tcp open sfs-smp-net
    452/tcp open sfs-config
    453/tcp open creativeserver
    454/tcp open contentserver
    455/tcp open creativepartnr
    456/tcp open macon-tcp
    457/tcp open scohelp
    458/tcp open appleqtc
    459/tcp open ampr-rcmd
    461/tcp open datasurfsrv
    462/tcp open datasurfsrvsec
    463/tcp open alpes
    464/tcp open kpasswd5
    465/tcp open smtps
    466/tcp open digital-vrc
    468/tcp open photuris
    469/tcp open rcp
    470/tcp open scx-proxy
    471/tcp open mondex
    472/tcp open ljk-login
    473/tcp open hybrid-pop
    475/tcp open tcpnethaspsrv
    476/tcp open tn-tl-fd1
    478/tcp open spsc
    479/tcp open iafserver
    480/tcp open loadsrv
    483/tcp open ulpnet
    484/tcp open integra-sme
    485/tcp open powerburst
    486/tcp open sstats
    487/tcp open saft
    488/tcp open gss-http
    489/tcp open nest-protocol
    490/tcp open micom-pfs
    491/tcp open go-login
    492/tcp open ticf-1
    493/tcp open ticf-2
    494/tcp open pov-ray
    495/tcp open intecourier
    496/tcp open pim-rp-disc
    497/tcp open dantz
    498/tcp open siam
    501/tcp open stmf
    502/tcp open asa-appl-proto
    503/tcp open intrinsa
    504/tcp open citadel
    505/tcp open mailbox-lm
    508/tcp open xvttp
    509/tcp open snare
    510/tcp open fcp
    511/tcp open passgo
    512/tcp open exec
    513/tcp open login
    514/tcp open shell
    515/tcp open printer
    516/tcp open videotex
    517/tcp open talk
    518/tcp open ntalk
    519/tcp open utime
    520/tcp open efs
    521/tcp open ripng
    522/tcp open ulp
    523/tcp open ibm-db2
    525/tcp open timed
    526/tcp open tempo
    527/tcp open stx
    528/tcp open custix
    529/tcp open irc-serv
    530/tcp open courier
    531/tcp open conference
    532/tcp open netnews
    533/tcp open netwall
    534/tcp open mm-admin
    535/tcp open iiop
    536/tcp open opalis-rdv
    537/tcp open nmsp
    538/tcp open gdomap
    539/tcp open apertus-ldp
    540/tcp open uucp
    541/tcp open uucp-rlogin
    543/tcp open klogin
    544/tcp open kshell
    545/tcp open ekshell
    546/tcp open dhcpv6-client
    548/tcp open afpovertcp
    549/tcp open idfp
    551/tcp open cybercash
    552/tcp open deviceshare
    553/tcp open pirp
    555/tcp open dsf
    556/tcp open remotefs
    557/tcp open openvms-sysipc
    558/tcp open sdnskmp
    559/tcp open teedtap
    560/tcp open rmonitor
    561/tcp open monitor
    562/tcp open chshell
    564/tcp open 9pfs
    565/tcp open whoami
    566/tcp open streettalk
    567/tcp open banyan-rpc
    569/tcp open ms-rome
    570/tcp open meter
    571/tcp open umeter
    572/tcp open sonar
    573/tcp open banyan-vip
    574/tcp open ftp-agent
    575/tcp open vemmi
    576/tcp open ipcd
    577/tcp open vnas
    578/tcp open ipdd
    580/tcp open sntp-heartbeat
    581/tcp open bdp
    582/tcp open scc-security
    583/tcp open philips-vc
    584/tcp open keyserver
    586/tcp open password-chg
    587/tcp open submission
    588/tcp open cal
    589/tcp open eyelink
    590/tcp open tns-cml
    592/tcp open eudora-set
    593/tcp open http-rpc-epmap
    594/tcp open tpip
    596/tcp open smsd
    597/tcp open ptcnameservice
    598/tcp open sco-websrvrmg3
    599/tcp open acp
    600/tcp open ipcserver
    602/tcp open unknown
    603/tcp open unknown
    604/tcp open unknown
    605/tcp open unknown
    607/tcp open nqs
    608/tcp open sift-uft
    609/tcp open npmp-trap
    611/tcp open npmp-gui
    612/tcp open unknown
    614/tcp open unknown
    615/tcp open unknown
    617/tcp open sco-dtmgr
    618/tcp open unknown
    619/tcp open unknown
    620/tcp open unknown
    621/tcp open unknown
    622/tcp open unknown
    623/tcp open unknown
    624/tcp open unknown
    625/tcp open unknown
    626/tcp open unknown
    627/tcp open unknown
    628/tcp open qmqp
    629/tcp open unknown
    632/tcp open unknown
    633/tcp open unknown
    634/tcp open ginad
    637/tcp open lanserver
    638/tcp open unknown
    639/tcp open unknown
    640/tcp open unknown
    641/tcp open unknown
    642/tcp open unknown
    643/tcp open unknown
    644/tcp open unknown
    645/tcp open unknown
    646/tcp open unknown
    647/tcp open unknown
    650/tcp open unknown
    651/tcp open unknown
    652/tcp open unknown
    653/tcp open unknown
    654/tcp open unknown
    655/tcp open unknown
    656/tcp open unknown
    657/tcp open unknown
    660/tcp open mac-srvr-admin
    661/tcp open unknown
    662/tcp open unknown
    663/tcp open unknown
    664/tcp open unknown
    665/tcp open unknown
    666/tcp open doom
    667/tcp open unknown
    668/tcp open unknown
    669/tcp open unknown
    670/tcp open unknown
    671/tcp open unknown
    672/tcp open unknown
    673/tcp open unknown
    675/tcp open unknown
    677/tcp open unknown
    678/tcp open unknown
    679/tcp open unknown
    680/tcp open unknown
    681/tcp open unknown
    682/tcp open unknown
    683/tcp open unknown
    684/tcp open unknown
    685/tcp open unknown
    686/tcp open unknown
    687/tcp open unknown
    688/tcp open unknown
    689/tcp open unknown
    690/tcp open unknown
    691/tcp open resvc
    692/tcp open unknown
    693/tcp open unknown
    694/tcp open unknown
    695/tcp open unknown
    696/tcp open unknown
    697/tcp open unknown
    698/tcp open unknown
    699/tcp open unknown
    700/tcp open unknown
    701/tcp open unknown
    702/tcp open unknown
    703/tcp open unknown
    704/tcp open elcsd
    705/tcp open unknown
    706/tcp open silc
    707/tcp open unknown
    708/tcp open unknown
    709/tcp open entrustmanager
    710/tcp open unknown
    711/tcp open unknown
    712/tcp open unknown
    713/tcp open unknown
    714/tcp open unknown
    715/tcp open unknown
    717/tcp open unknown
    718/tcp open unknown
    719/tcp open unknown
    720/tcp open unknown
    721/tcp open unknown
    722/tcp open unknown
    724/tcp open unknown
    725/tcp open unknown
    726/tcp open unknown
    727/tcp open unknown
    728/tcp open unknown
    729/tcp open netviewdm1
    730/tcp open netviewdm2
    733/tcp open unknown
    734/tcp open unknown
    735/tcp open unknown
    736/tcp open unknown
    737/tcp open unknown
    738/tcp open unknown
    739/tcp open unknown
    740/tcp open netcp
    742/tcp open netrcs
    743/tcp open unknown
    744/tcp open flexlm
    745/tcp open unknown
    746/tcp open unknown
    748/tcp open ris-cm
    749/tcp open kerberos-adm
    750/tcp open kerberos
    751/tcp open kerberos_master
    752/tcp open qrh
    753/tcp open rrh
    754/tcp open krb_prop
    755/tcp open unknown
    756/tcp open unknown
    757/tcp open unknown
    758/tcp open nlogin
    759/tcp open con
    761/tcp open kpasswd
    763/tcp open cycleserv
    764/tcp open omserv
    765/tcp open webster
    766/tcp open unknown
    767/tcp open phonebook
    768/tcp open unknown
    769/tcp open vid
    770/tcp open cadlock
    771/tcp open rtip
    772/tcp open cycleserv2
    773/tcp open submit
    774/tcp open rpasswd
    775/tcp open entomb
    776/tcp open wpages
    777/tcp open unknown
    778/tcp open unknown
    779/tcp open unknown
    780/tcp open wpgs
    781/tcp open hp-collector
    782/tcp open hp-managed-node
    783/tcp open hp-alarm-mgr
    784/tcp open unknown
    785/tcp open unknown
    786/tcp open concert
    787/tcp open unknown
    788/tcp open unknown
    789/tcp open unknown
    790/tcp open unknown
    791/tcp open unknown
    792/tcp open unknown
    793/tcp open unknown
    794/tcp open unknown
    795/tcp open unknown
    796/tcp open unknown
    797/tcp open unknown
    798/tcp open unknown
    799/tcp open controlit
    800/tcp open mdbs_daemon
    801/tcp open device
    803/tcp open unknown
    804/tcp open unknown
    805/tcp open unknown
    806/tcp open unknown
    807/tcp open unknown
    808/tcp open ccproxy-http
    809/tcp open unknown
    810/tcp open unknown
    811/tcp open unknown
    812/tcp open unknown
    813/tcp open unknown
    814/tcp open unknown
    815/tcp open unknown
    816/tcp open unknown
    817/tcp open unknown
    818/tcp open unknown
    819/tcp open unknown
    820/tcp open unknown
    821/tcp open unknown
    822/tcp open unknown
    823/tcp open unknown
    824/tcp open unknown
    825/tcp open unknown
    826/tcp open unknown
    827/tcp open unknown
    828/tcp open unknown
    829/tcp open unknown
    830/tcp open unknown
    831/tcp open unknown
    832/tcp open unknown
    833/tcp open unknown
    834/tcp open unknown
    835/tcp open unknown
    836/tcp open unknown
    837/tcp open unknown
    839/tcp open unknown
    840/tcp open unknown
    841/tcp open unknown
    842/tcp open unknown
    843/tcp open unknown
    844/tcp open unknown
    845/tcp open unknown
    846/tcp open unknown
    847/tcp open unknown
    848/tcp open unknown
    849/tcp open unknown
    850/tcp open unknown
    853/tcp open unknown
    855/tcp open unknown
    856/tcp open unknown
    857/tcp open unknown
    858/tcp open unknown
    859/tcp open unknown
    860/tcp open unknown
    861/tcp open unknown
    862/tcp open unknown
    863/tcp open unknown
    864/tcp open unknown
    865/tcp open unknown
    866/tcp open unknown
    868/tcp open unknown
    869/tcp open unknown
    870/tcp open unknown
    871/tcp open supfilesrv
    872/tcp open unknown
    873/tcp open rsync
    874/tcp open unknown
    877/tcp open unknown
    878/tcp open unknown
    879/tcp open unknown
    880/tcp open unknown
    881/tcp open unknown
    882/tcp open unknown
    883/tcp open unknown
    884/tcp open unknown
    885/tcp open unknown
    886/tcp open unknown
    887/tcp open unknown
    888/tcp open accessbuilder
    890/tcp open unknown
    891/tcp open unknown
    892/tcp open unknown
    893/tcp open unknown
    895/tcp open unknown
    896/tcp open unknown
    897/tcp open unknown
    898/tcp open sun-manageconsole
    899/tcp open unknown
    900/tcp open unknown
    901/tcp open samba-swat
    902/tcp open iss-realsecure-sensor
    903/tcp open iss-console-mgr
    904/tcp open unknown
    905/tcp open unknown
    906/tcp open unknown
    907/tcp open unknown
    908/tcp open unknown
    909/tcp open unknown
    910/tcp open unknown
    911/tcp open unknown
    912/tcp open unknown
    913/tcp open unknown
    914/tcp open unknown
    915/tcp open unknown
    916/tcp open unknown
    917/tcp open unknown
    918/tcp open unknown
    919/tcp open unknown
    921/tcp open unknown
    922/tcp open unknown
    923/tcp open unknown
    925/tcp open unknown
    926/tcp open unknown
    927/tcp open unknown
    928/tcp open unknown
    931/tcp open unknown
    932/tcp open unknown
    933/tcp open unknown
    934/tcp open unknown
    935/tcp open unknown
    936/tcp open unknown
    938/tcp open unknown
    939/tcp open unknown
    940/tcp open unknown
    941/tcp open unknown
    942/tcp open unknown
    943/tcp open unknown
    944/tcp open unknown
    945/tcp open unknown
    946/tcp open unknown
    947/tcp open unknown
    948/tcp open unknown
    949/tcp open unknown
    950/tcp open oftep-rpc
    953/tcp open rndc
    954/tcp open unknown
    955/tcp open unknown
    956/tcp open unknown
    957/tcp open unknown
    958/tcp open unknown
    959/tcp open unknown
    960/tcp open unknown
    961/tcp open unknown
    962/tcp open unknown
    964/tcp open unknown
    965/tcp open unknown
    966/tcp open unknown
    967/tcp open unknown
    968/tcp open unknown
    969/tcp open unknown
    970/tcp open unknown
    971/tcp open unknown
    972/tcp open unknown
    973/tcp open unknown
    974/tcp open unknown
    975/tcp open securenetpro-sensor
    976/tcp open unknown
    977/tcp open unknown
    978/tcp open unknown
    979/tcp open unknown
    980/tcp open unknown
    981/tcp open unknown
    982/tcp open unknown
    983/tcp open unknown
    984/tcp open unknown
    985/tcp open unknown
    986/tcp open unknown
    987/tcp open unknown
    988/tcp open unknown
    989/tcp open ftps-data
    990/tcp open ftps
    991/tcp open unknown
    992/tcp open telnets
    993/tcp open imaps
    994/tcp open ircs
    995/tcp open pop3s
    996/tcp open xtreelic
    997/tcp open maitrd
    998/tcp open busboy
    1000/tcp open cadlock
    1003/tcp open unknown
    1006/tcp open unknown
    1007/tcp open unknown
    1009/tcp open unknown
    1010/tcp open unknown
    1011/tcp open unknown
    1012/tcp open unknown
    1013/tcp open unknown
    1014/tcp open unknown
    1015/tcp open unknown
    1016/tcp open unknown
    1017/tcp open unknown
    1018/tcp open unknown
    1019/tcp open unknown
    1020/tcp open unknown
    1021/tcp open unknown
    1022/tcp open unknown
    1023/tcp open netvenuechat
    1024/tcp open kdm
    1025/tcp open NFS-or-IIS
    1026/tcp open LSA-or-nterm
    1027/tcp open IIS
    1029/tcp open ms-lsa
    1030/tcp open iad1
    1031/tcp open iad2
    1032/tcp open iad3
    1033/tcp open netinfo
    1040/tcp open netsaint
    1050/tcp open java-or-OTGfileshare
    1058/tcp open nim
    1059/tcp open nimreg
    1067/tcp open instl_boots
    1080/tcp open socks
    1083/tcp open ansoft-lm-1
    1084/tcp open ansoft-lm-2
    1103/tcp open xaudio
    1109/tcp open kpop
    1110/tcp open nfsd-status
    1112/tcp open msql
    1127/tcp open supfiledbg
    1139/tcp open cce3x
    1155/tcp open nfa
    1178/tcp open skkserv
    1214/tcp open fasttrack
    1220/tcp open quicktime
    1222/tcp open nerv
    1234/tcp open hotline
    1241/tcp open nessus
    1248/tcp open hermes
    1337/tcp open waste
    1346/tcp open alta-ana-lm
    1347/tcp open bbn-mmc
    1348/tcp open bbn-mmx
    1350/tcp open editbench
    1351/tcp open equationbuilder
    1353/tcp open relief
    1354/tcp open rightbrain
    1355/tcp open intuitive-edge
    1356/tcp open cuillamartin
    1357/tcp open pegboard
    1358/tcp open connlcli
    1361/tcp open linx
    1362/tcp open timeflies
    1363/tcp open ndm-requester
    1364/tcp open ndm-server
    1365/tcp open adapt-sna
    1366/tcp open netware-csp
    1367/tcp open dcs
    1368/tcp open screencast
    1369/tcp open gv-us
    1370/tcp open us-gv
    1371/tcp open fc-cli
    1372/tcp open fc-ser
    1373/tcp open chromagrafx
    1374/tcp open molly
    1375/tcp open bytex
    1377/tcp open cichlid
    1378/tcp open elan
    1379/tcp open dbreporter
    1380/tcp open telesis-licman
    1381/tcp open apple-licman
    1383/tcp open gwha
    1384/tcp open os-licman
    1385/tcp open atex_elmd
    1386/tcp open checksum
    1387/tcp open cadsi-lm
    1388/tcp open objective-dbc
    1389/tcp open iclpv-dm
    1390/tcp open iclpv-sc
    1391/tcp open iclpv-sas
    1392/tcp open iclpv-pm
    1393/tcp open iclpv-nls
    1394/tcp open iclpv-nlc
    1395/tcp open iclpv-wsm
    1396/tcp open dvl-activemail
    1397/tcp open audio-activmail
    1398/tcp open video-activmail
    1399/tcp open cadkey-licman
    1400/tcp open cadkey-tablet
    1401/tcp open goldleaf-licman
    1402/tcp open prm-sm-np
    1403/tcp open prm-nm-np
    1404/tcp open igi-lm
    1406/tcp open netlabs-lm
    1407/tcp open dbsa-lm
    1408/tcp open sophia-lm
    1409/tcp open here-lm
    1410/tcp open hiq
    1411/tcp open af
    1412/tcp open innosys
    1413/tcp open innosys-acl
    1415/tcp open dbstar
    1416/tcp open novell-lu6.2
    1417/tcp open timbuktu-srv1
    1418/tcp open timbuktu-srv2
    1419/tcp open timbuktu-srv3
    1421/tcp open gandalf-lm
    1423/tcp open essbase
    1425/tcp open zion-lm
    1426/tcp open sas-1
    1427/tcp open mloadd
    1428/tcp open informatik-lm
    1429/tcp open nms
    1432/tcp open blueberry-lm
    1433/tcp open ms-sql-s
    1435/tcp open ibm-cics
    1436/tcp open sas-2
    1437/tcp open tabula
    1438/tcp open eicon-server
    1439/tcp open eicon-x25
    1440/tcp open eicon-slp
    1441/tcp open cadis-1
    1442/tcp open cadis-2
    1444/tcp open marcam-lm
    1445/tcp open proxima-lm
    1446/tcp open ora-lm
    1447/tcp open apri-lm
    1448/tcp open oc-lm
    1449/tcp open peport
    1450/tcp open dwf
    1451/tcp open infoman
    1453/tcp open genie-lm
    1454/tcp open interhdl_elmd
    1455/tcp open esl-lm
    1456/tcp open dca
    1457/tcp open valisys-lm
    1458/tcp open nrcabq-lm
    1459/tcp open proshare1
    1461/tcp open ibm_wrless_lan
    1462/tcp open world-lm
    1463/tcp open nucleus
    1464/tcp open msl_lmd
    1465/tcp open pipes
    1466/tcp open oceansoft-lm
    1467/tcp open csdmbase
    1468/tcp open csdm
    1470/tcp open uaiact
    1472/tcp open csdm
    1473/tcp open openmath
    1474/tcp open telefinder
    1475/tcp open taligent-lm
    1476/tcp open clvm-cfg
    1477/tcp open ms-sna-server
    1478/tcp open ms-sna-base
    1479/tcp open dberegister
    1480/tcp open pacerforum
    1481/tcp open airs
    1482/tcp open miteksys-lm
    1485/tcp open lansource
    1486/tcp open nms_topo_serv
    1487/tcp open localinfosrvr
    1488/tcp open docstor
    1489/tcp open dmdocbroker
    1490/tcp open insitu-conf
    1491/tcp open anynetgateway
    1492/tcp open stone-design-1
    1494/tcp open citrix-ica
    1495/tcp open cvc
    1496/tcp open liberty-lm
    1497/tcp open rfx-lm
    1498/tcp open watcom-sql
    1500/tcp open vlsi-lm
    1501/tcp open sas-3
    1502/tcp open shivadiscovery
    1503/tcp open imtc-mcs
    1504/tcp open evb-elm
    1505/tcp open funkproxy
    1506/tcp open utcd
    1507/tcp open symplex
    1508/tcp open diagmond
    1509/tcp open robcad-lm
    1510/tcp open mvx-lm
    1512/tcp open wins
    1513/tcp open fujitsu-dtc
    1514/tcp open fujitsu-dtcns
    1515/tcp open ifor-protocol
    1516/tcp open vpad
    1517/tcp open vpac
    1518/tcp open vpvd
    1519/tcp open vpvc
    1520/tcp open atm-zip-office
    1522/tcp open rna-lm
    1523/tcp open cichild-lm
    1524/tcp open ingreslock
    1525/tcp open orasrv
    1526/tcp open pdap-np
    1527/tcp open tlisrv
    1528/tcp open mciautoreg
    1529/tcp open support
    1530/tcp open rap-service
    1531/tcp open rap-listen
    1532/tcp open miroconnect
    1533/tcp open virtual-places
    1534/tcp open micromuse-lm
    1535/tcp open ampr-info
    1537/tcp open sdsc-lm
    1538/tcp open 3ds-lm
    1539/tcp open intellistor-lm
    1540/tcp open rds
    1541/tcp open rds2
    1542/tcp open gridgen-elmd
    1543/tcp open simba-cs
    1544/tcp open aspeclmd
    1545/tcp open vistium-share
    1546/tcp open abbaccuray
    1547/tcp open laplink
    1548/tcp open axon-lm
    1549/tcp open shivahose
    1550/tcp open 3m-image-lm
    1552/tcp open pciarray
    1600/tcp open issd
    1650/tcp open nkd
    1652/tcp open xnmp
    1661/tcp open netview-aix-1
    1662/tcp open netview-aix-2
    1663/tcp open netview-aix-3
    1666/tcp open netview-aix-6
    1668/tcp open netview-aix-8
    1669/tcp open netview-aix-9
    1670/tcp open netview-aix-10
    1672/tcp open netview-aix-12
    1680/tcp open CarbonCopy
    1720/tcp open H.323/Q.931
    1755/tcp open wms
    1761/tcp open landesk-rc
    1762/tcp open landesk-rc
    1763/tcp open landesk-rc
    1827/tcp open pcm
    1900/tcp open UPnP
    1986/tcp open licensedaemon
    1987/tcp open tr-rsrb-p1
    1988/tcp open tr-rsrb-p2
    1989/tcp open tr-rsrb-p3
    1990/tcp open stun-p1
    1992/tcp open stun-p3
    1993/tcp open snmp-tcp-port
    1994/tcp open stun-port
    1995/tcp open perf-port
    1997/tcp open gdp-port
    1998/tcp open x25-svc-port
    1999/tcp open tcp-id-port
    2000/tcp open callbook
    2001/tcp open dc
    2002/tcp open globe
    2003/tcp open cfingerd
    2004/tcp open mailbox
    2005/tcp open deslogin
    2006/tcp open invokator
    2007/tcp open dectalk
    2008/tcp open conf
    2010/tcp open search
    2011/tcp open raid-cc
    2013/tcp open raid-am
    2014/tcp open troff
    2015/tcp open cypress
    2016/tcp open bootserver
    2017/tcp open cypress-stat
    2018/tcp open terminaldb
    2019/tcp open whosockami
    2020/tcp open xinupageserver
    2021/tcp open servexec
    2022/tcp open down
    2023/tcp open xinuexpansion3
    2025/tcp open ellpack
    2026/tcp open scrabble
    2027/tcp open shadowserver
    2028/tcp open submitserver
    2030/tcp open device2
    2032/tcp open blackboard
    2033/tcp open glogger
    2038/tcp open objectmanager
    2040/tcp open lam
    2041/tcp open interbase
    2042/tcp open isis
    2043/tcp open isis-bcast
    2044/tcp open rimsl
    2045/tcp open cdfunc
    2046/tcp open sdfunc
    2047/tcp open dls
    2048/tcp open dls-monitor
    2053/tcp open knetd
    2064/tcp open dnet-keyproxy
    2065/tcp open dlsrpn
    2067/tcp open dlswpn
    2068/tcp open advocentkvm
    2105/tcp open eklogin
    2106/tcp open ekshell
    2111/tcp open kx
    2112/tcp open kip
    2120/tcp open kauth
    2121/tcp open ccproxy-ftp
    2201/tcp open ats
    2232/tcp open ivs-video
    2241/tcp open ivsd
    2307/tcp open pehelp
    2401/tcp open cvspserver
    2430/tcp open venus
    2431/tcp open venus-se
    2432/tcp open codasrv
    2433/tcp open codasrv-se
    2500/tcp open rtsserv
    2501/tcp open rtsclient
    2564/tcp open hp-3000-telnet
    2600/tcp open zebrasrv
    2601/tcp open zebra
    2602/tcp open ripd
    2603/tcp open ripngd
    2604/tcp open ospfd
    2605/tcp open bgpd
    2627/tcp open webster
    2628/tcp open dict
    2638/tcp open sybase
    2766/tcp open listen
    2784/tcp open www-dev
    2809/tcp open corbaloc
    2903/tcp open extensisportfolio
    2998/tcp open iss-realsec
    3000/tcp open ppp
    3001/tcp open nessusd
    3005/tcp open deslogin
    3006/tcp open deslogind
    3049/tcp open cfs
    3052/tcp open PowerChute
    3064/tcp open dnet-tstproxy
    3086/tcp open sj3
    3128/tcp open squid-http
    3141/tcp open vmodem
    3269/tcp open globalcatLDAPssl
    3292/tcp open meetingmaker
    3306/tcp open mysql
    3333/tcp open dec-notes
    3372/tcp open msdtc
    3421/tcp open bmap
    3455/tcp open prsvp
    3456/tcp open vat
    3457/tcp open vat-control
    3462/tcp open track
    3531/tcp open peerenabler
    3689/tcp open rendezvous
    3900/tcp open udt_os
    3984/tcp open mapper-nodemgr
    3985/tcp open mapper-mapethd
    3986/tcp open mapper-ws_ethd
    3999/tcp open remoteanything
    4000/tcp open remoteanything
    4008/tcp open netcheque
    4045/tcp open lockd
    4132/tcp open nuts_dem
    4133/tcp open nuts_bootp
    4144/tcp open wincim
    4224/tcp open xtell
    4321/tcp open rwhois
    4333/tcp open msql
    4343/tcp open unicall
    4444/tcp open krb524
    4480/tcp open proxy-plus
    4500/tcp open sae-urn
    4557/tcp open fax
    4559/tcp open hylafax
    4660/tcp open mosmig
    4899/tcp open radmin
    4987/tcp open maybeveritas
    4998/tcp open maybeveritas
    5000/tcp open UPnP
    5001/tcp open commplex-link
    5002/tcp open rfe
    5010/tcp open telelpathstart
    5050/tcp open mmcc
    5100/tcp open admd
    5101/tcp open admdog
    5102/tcp open admeng
    5145/tcp open rmonitor_secure
    5190/tcp open aol
    5191/tcp open aol-1
    5192/tcp open aol-2
    5232/tcp open sgi-dgl
    5236/tcp open padl2sim
    5300/tcp open hacl-hb
    5301/tcp open hacl-gs
    5302/tcp open hacl-cfg
    5303/tcp open hacl-probe
    5304/tcp open hacl-local
    5305/tcp open hacl-test
    5308/tcp open cfengine
    5400/tcp open pcduo-old
    5405/tcp open pcduo
    5432/tcp open postgres
    5510/tcp open secureidprop
    5520/tcp open sdlog
    5530/tcp open sdserv
    5540/tcp open sdreport
    5550/tcp open sdadmind
    5555/tcp open freeciv
    5631/tcp open pcanywheredata
    5632/tcp open pcanywherestat
    5680/tcp open canna
    5713/tcp open proshareaudio
    5714/tcp open prosharevideo
    5715/tcp open prosharedata
    5716/tcp open prosharerequest
    5717/tcp open prosharenotify
    5800/tcp open vnc-http
    5801/tcp open vnc-http-1
    5802/tcp open vnc-http-2
    5803/tcp open vnc-http-3
    5900/tcp open vnc
    5901/tcp open vnc-1
    5902/tcp open vnc-2
    5903/tcp open vnc-3
    5977/tcp open ncd-pref-tcp
    5978/tcp open ncd-diag-tcp
    5979/tcp open ncd-conf-tcp
    5998/tcp open ncd-diag
    5999/tcp open ncd-conf
    6000/tcp open X11
    6001/tcp open X11:1
    6002/tcp open X11:2
    6003/tcp open X11:3
    6004/tcp open X11:4
    6005/tcp open X11:5
    6006/tcp open X11:6
    6007/tcp open X11:7
    6008/tcp open X11:8
    6009/tcp open X11:9
    6017/tcp open xmail-ctrl
    6050/tcp open arcserve
    6101/tcp open VeritasBackupExec
    6103/tcp open RETS-or-BackupExec
    6106/tcp open isdninfo
    6110/tcp open softcm
    6111/tcp open spc
    6112/tcp open dtspc
    6141/tcp open meta-corp
    6142/tcp open aspentec-lm
    6143/tcp open watershed-lm
    6144/tcp open statsci1-lm
    6146/tcp open lonewolf-lm
    6147/tcp open montage-lm
    6148/tcp open ricardo-lm
    6346/tcp open gnutella
    6400/tcp open crystalreports
    6401/tcp open crystalenterprise
    6502/tcp open netop-rc
    6543/tcp open mythtv
    6544/tcp open mythtv
    6547/tcp open PowerChutePLUS
    6548/tcp open PowerChutePLUS
    6558/tcp open xdsxdm
    6666/tcp open irc-serv
    6668/tcp open irc
    6699/tcp open napster
    6969/tcp open acmsoda
    7001/tcp open afs3-callback
    7002/tcp open afs3-prserver
    7003/tcp open afs3-vlserver
    7004/tcp open afs3-kaserver
    7005/tcp open afs3-volser
    7006/tcp open afs3-errors
    7007/tcp open afs3-bos
    7008/tcp open afs3-update
    7009/tcp open afs3-rmtsys
    7010/tcp open ups-onlinet
    7070/tcp open realserver
    7100/tcp open font-service
    7200/tcp open fodms
    7201/tcp open dlip
    7273/tcp open openmanage
    7326/tcp open icb
    7464/tcp open pythonds
    7597/tcp open qaz
    8007/tcp open ajp12
    8009/tcp open ajp13
    8081/tcp open blackice-icecap
    8082/tcp open blackice-alerts
    8892/tcp open seosload
    9090/tcp open zeus-admin
    9100/tcp open jetdirect
    9111/tcp open DragonIDSConsole
    9152/tcp open ms-sql2000
    9535/tcp open man
    9876/tcp open sd
    9991/tcp open issa
    9992/tcp open issc
    9999/tcp open abyss
    10000/tcp open snet-sensor-mgmt
    10005/tcp open stel
    10082/tcp open amandaidx
    10083/tcp open amidxtape
    12000/tcp open cce4x
    12345/tcp open NetBus
    12346/tcp open NetBus
    13701/tcp open VeritasNetbackup
    13702/tcp open VeritasNetbackup
    13705/tcp open VeritasNetbackup
    13706/tcp open VeritasNetbackup
    13708/tcp open VeritasNetbackup
    13710/tcp open VeritasNetbackup
    13711/tcp open VeritasNetbackup
    13712/tcp open VeritasNetbackup
    13713/tcp open VeritasNetbackup
    13714/tcp open VeritasNetbackup
    13715/tcp open VeritasNetbackup
    13716/tcp open VeritasNetbackup
    13717/tcp open VeritasNetbackup
    13718/tcp open VeritasNetbackup
    13721/tcp open VeritasNetbackup
    13722/tcp open VeritasNetbackup
    13782/tcp open VeritasNetbackup
    13783/tcp open VeritasNetbackup
    15126/tcp open swgps
    16959/tcp open subseven
    17007/tcp open isode-dua
    17300/tcp open kuang2
    18000/tcp open biimenu
    18181/tcp open opsec_cvp
    18182/tcp open opsec_ufp
    18183/tcp open opsec_sam
    18184/tcp open opsec_lea
    18185/tcp open opsec_omi
    18187/tcp open opsec_ela
    20005/tcp open btx
    22289/tcp open wnn6_Cn
    22321/tcp open wnn6_Tw
    22370/tcp open hpnpd
    26208/tcp open wnn6_DS
    27000/tcp open flexlm0
    27001/tcp open flexlm1
    27002/tcp open flexlm2
    27003/tcp open flexlm3
    27004/tcp open flexlm4
    27005/tcp open flexlm5
    27006/tcp open flexlm6
    27007/tcp open flexlm7
    27008/tcp open flexlm8
    27009/tcp open flexlm9
    27010/tcp open flexlm10
    27374/tcp open subseven
    27665/tcp open Trinoo_Master
    32770/tcp open sometimes-rpc3
    32771/tcp open sometimes-rpc5
    32772/tcp open sometimes-rpc7
    32773/tcp open sometimes-rpc9
    32774/tcp open sometimes-rpc11
    32775/tcp open sometimes-rpc13
    32776/tcp open sometimes-rpc15
    32777/tcp open sometimes-rpc17
    32778/tcp open sometimes-rpc19
    32779/tcp open sometimes-rpc21
    32786/tcp open sometimes-rpc25
    32787/tcp open sometimes-rpc27
    38037/tcp open landesk-cba
    38292/tcp open landesk-cba
    43188/tcp open reachout
    44334/tcp open tinyfw
    44442/tcp open coldfusion-auth
    44443/tcp open coldfusion-auth
    47557/tcp open dbbrowse
    49400/tcp open compaqdiag
    54320/tcp open bo2k
    61439/tcp open netprowler-manager
    61440/tcp open netprowler-manager2
    61441/tcp open netprowler-sensor
    65301/tcp open pcanywhere
    ===== ここまで =====

    ここまで見た人、お疲れ様でした(笑

    「ひらけひらけチューリップ」って歌がありましたが、ひらけひらけポートたち、って感じです。多分、このホスト、ターボリナックスが動作しているみたいで、不正侵入を受けたあげく、バックドアやらなにやら、めいっぱい感染させられちゃっているようですね。
    しかし、こんなにたくさんのポートが開いているホストなんて、みたことない(笑。ノーガード戦法なんでしょうか???

    あ、ちゃんと、プロバイダーと、IPAには報告しておきました