仮想私事の原理

ワタクシごとではありますが

MCPを駆け足で理解する

勉強会用に、MCPについてザックリと理解してもらうために作った資料(というか、自分がざっくりと理解できるように作った資料)。

MCP(Model Context Protocol)とは

LLMには「手」がないので、人間が使うツールやサービスを同じようには使えない

  • 人間には「手」があるので、いろいろなツール(アプリ)を使える
    • キーボードで入力したり、マウスで操作したり⋯
  • AI(LLM)には頭はあるけど「手」がないので、人間が使うツールを動かせない
    • LLMの基本機能は、推論(考える)だけ


続きを読む

VyOSでネットワーク構築ハンズオン(Staticルーティング)

職場の若手(特に情報系出身ではない人)向けに、ネットワーク(特にルーティング)勉強用に資料を作ったら、まぁまぁなボリュームになり、せっかくなので共有。
こういったネットワーク構築入門の記事はネット上に多くあるのでイマサラかもしれないけど、ネットワーク技術者むけだったり、初心者にはちょっと難しそうと感じるものが多かったので、誰かの役に立てば幸いです。
(この記事も、自分で思っているほど分かりやすくはないかもしれないけど…)

普段はWiFiに繋げばネットに繋がるから、ルーティングなんてほぼ意識しないだろうけど、セキュリティに携わる上では知ってて損はないんじゃないかと思う。

ハンズオンの内容は以下のとおり

  • VMware Workstation Proの仮想ネットワーク(VMnet)上で複数のネットワークを作り、繋げる
  • Staticルーティングを設定して、離れたネットワークのマシンと通信する
続きを読む

仮想仕事の原理の歴史的経緯

「仮想仕事の原理」は平衡状態を表すための力学の原理だ。 材料力学や構造力学、または解析力学を勉強した人なら聞いたことはあるだろう。解析力学の第一歩である重要な原理であり、有限要素法においても基本となる原理だ。しかし正直に言えば、僕は「仮想仕事の原理」をまったく納得できていなかった。 「平衡状態だから合力はゼロ。だからそれに仮想的な変位を掛けた仕事もゼロ」という簡単な説明から、テンソルや重積分を駆使する厳密っぽい説明まで様々あるけど、どれもこれも納得できかった。仮想仕事の原理は僕にとって長いこと、喉に刺さった魚の骨だった。

ここでは、仮想仕事の原理について自分なりに納得するために、悩んで調べて辿り着いたところを残しておく。誰の参考にもならないだろうが、万一誰かの参考になれば幸いである。

なお、僕はアカデミックな人間ではないし、数式いじるのも得意じゃないし、なにより自己満足でやっているので、説明の正確性は保証できない。あしからず。

続きを読む

【勉強メモ】サイバーセキュリティプログラミング -Pythonで学ぶハッカーの思考- (2)

前回の続きで、後半の6章から11章のまとめ。

BurpやGitHubを Pythonで操作して攻撃に利用する。GitHubの利用なんかは感心してしまった。7章から9章の内容を盛り込めば、Pythonのトロイエージェントが作れそう。

内容の濃い一冊だった。読み通したものの、正直どれだけ頭に定着できたことか・・・。

余談だけど、pythonは応用になればなるほど、ライブラリの使い方に終始していく感じがある。勿論、他の言語でも標準ライブラリで全てができるわけではなく別途専用ライブライは必要なんだけど、pythonは特に「道具感」が強い気がするのは気のせいだろうか。多機能はライブラリが多すぎるせいだろうか。標準のPythonの学習コストが低い(覚えることが少ない)のが理由なんだろうとは思うけど。

今更だけど、こういう勉強メモをブログに上げるのって、やめた方が良いのかな? 著作権的に。 一応、本の丸写しにはならないようにしてるつもりだけど、マズいのなら止めます。

続きを読む

【勉強メモ】サイバーセキュリティプログラミング -Pythonで学ぶハッカーの思考- (1)

邦題は「サイバーセキュリティプログラミング」と「守」側っぽいネーミングだが、原題は「Black Hat Python」*1という「攻」側を匂わせる名前であり、内容も「攻」寄りの内容だ。PythonによるNetCatの自作から始まり、パケットキャプチャー、Webサーバへの攻撃など、「ハッカーっぽい」(素人目から見てだが)テクニックが学べる。内容の濃い一冊。

2015年発行でPython2が使われており、Python3推奨の現在としては少し抵抗があるが、自身でPython3に書き換えるのも勉強になって良いと思う。

なお、原語では「Black Hat Python 2nd Edition」として、Python3で書かれた本も出ているので、こちらに取り組んでみるのも良いかも。
(僕はどちらもやってないけど…)

長いので、とりあえず1~5章までをまとめ。

*1:ちなみに本書内のソースコード名にしきりに「bhp」という文字列が使われているのは、原題の略称

続きを読む

【勉強メモ】ITエンジニアになる!チャレンジC#プログラミング

C#によるアプリ作成(パスワードジェネレータ)を通じて、C#による処理(ロジック)作成、GUI(フォームとWPF)作成、デザインパターンについて学ぶことができる。

よくあるC#入門書とは異なり、C#の文法やフォームアプリの作り方を体系的・網羅的に教えるのでなく、パスワードジェネレータの作成過程を通じて、ロジック・クラス・GUIの作り方を教えるだけでなく、「GUIアプリ作りの考え方」そのものを体験させてくれる。

素人・趣味プログラマからすると、「プロは、どのようにプログラミングしているだろう?」と気になることは多々ある。自分のプログラミングが一人よがりなんじゃないかと気になる。その点、本書はOJTを受けながらC#を学んでいるような気分になれて良い(プログラミングのOJTなんて受けたことないけど)。

また、本書内にもあるように「デザインパターンの入門書」としても読めるので、他の本よりもオブジェクト指向プログラミングの意義を感じながら学んでいける。

C#の基本文法についてもざっくりとしか説明していないので、これを「はじめの1冊」にするのは厳しいかもしれないが(僕にとってはまともに読んだ初のC#本だけど、C言語は習得済だったので。C系統の言語経験があればイケると思う)、2~3冊目に読むと面白い本だと思う。

続きを読む

【勉強メモ】たのしいバイナリの歩き方(愛甲健二)

2013年発行の本。面白いと人から勧められたけど、自分にはハードルが高く、随分とほったらかしになってしまった。 最近になって読破しようと読み返してみたが、けっこう大変だった。全体として説明が雑というか不親切で、バッファーオーバーフローのみ図を使って説明しているが、その図も分かりにくい(もう少し手を加えれば分かりやすいのに)。DLLインジェクションやAPIフックのところでは図もないし説明も短い。「分かっている人」なら分かるんだろうけど、それが分かっているなら本を読む必要なんか無いわけで…。ネットで逐一調べなければ読み切れなかった。人を選ぶ本。

【 良かったところ】

  • バッファーオーバーフロー、自作デバッガ、DLLインジェクション、APIフック等、扱っているテーマが面白い。
  • 自分で手を動かして試すことができる。


【 不満なところ】

  • 説明が不親切。高度になるほど説明が減る。
  • ソースコードの背景が黒(書込みができない。誤字脱字も訂正しにくい)
  • 誤字脱字が多い(自分のは第2版だが、今は修正されてるのか?)
  • 不要にC++が使われている(自分がC++知らないからだけど、ほぼC言語で十分じゃない?)
続きを読む