ポン酢ブログ(β)

The harder you work, the luckier you get. - Gary Player

favicon や Webclip アイコンを取得するブックマークレットを作ったので Slack emoji にして役立てよう

atpons です.Slackライフにはcustom emojiが必須ですよね.

各種サービスのカスタム絵文字を作る際 favicon などをそのまま使いたいですよね.使いたい.

そんなときに便利な favicon を探してくるやつ作りました.

iconchan.herokuapp.com

使い方は表示されたブックマークレットを追加して任意のサイトで開くだけ.

そうするとこんな感じに:
f:id:atpons:20180316213125p:plain

ここからダウンロードできます.
また apple-touch-icon にも対応しているのでパスワードマネージャーとかのアイコン管理も便利になるかも.
是非使ってみてくださいね!

A4988 + Raspberry Pi シリーズでステッピングモーターを動かす

この記事は群馬大学電子計算機研究会 IGGG Advent Calendar 2017 12日目の記事です


Amazon 等で比較的安価に入手できるステッピングモータードライバ A4988 とステッピングモーターを組み合わせて Raspberry Pi シリーズ(以下 RasPi)でステッピングモーターを動かしてみるテストです.

必要なモノ

配線図

f:id:atpons:20171213164646p:plain 汚すぎるんですが勘弁してください.パワポで配線するのは険しいので Visio 使いたいですね.

動かし方

github.com Pythonステッピングモーターを動かす便利ライブラリが GitHub にありましたのでこれを使っていきます.testStepper.pyを修正しなくても動くと思います.適当に Step 数を決めて動かせばよいです.

参考リンク

ポエム

この記事は群馬大学電子計算機研究会 IGGG Advent Calendar 2017 6日目の記事です

2017年総括していきましょう.

2017年まとめ

1月

  • 覚えてないけど無をやっていた

2月

  • テストオブテスト

3月

  • 引っ越しをした.

4月

  • 2年生になった
  • C言語を講義でやるようになった
    • GitHubベースで管理してた

5月

6月

7月

  • 生きてたっけ?

8月

  • セキュキャン2017全国チューターをやりました
  • DL360 G7を買いました
    • ラックサーバーは楽しいよね

9月

  • Apple Watch 買いました
  • セキュキャン2017ミニ山梨チューターをやりました
  • セキュキャン2017ミニ宮崎チューターをやりました

10月

  • 後期スタート
  • まさか○○で○○だなんて思わなかった
  • 研究室に顔を出すようになった.まさかBBQで人に研究室を決められてたなんてないです.なくはない.

11月

  • 忘れた

12月

  • TX1310 M1を購入した
    • 何に使う?

思うこと

大学に入学してから,自分の習慣と周りの習慣の差に驚き,様々な気づきを得ました.というか,みんなは「パソコンはインターネットブラウザが入ってるタダのハコ」としか認識していないんだなと思いました.

背景白でインデントごちゃごちゃのソースコード(皆さん誰もがそこからスタートするのですが)を,手作業で修正していてとても感慨深いモノを感じました.普通どうしようかとかググらないんですかね.ググらないか.

pluma が好きで好きで仕方ないなら一生使ってれば良いと思いますけどね.はい.

いつから僕にとってパソコンはネットサーフィンの道具ではないのだと自覚したんだっけ,とか思い返しました.僕もスタートの時点ではクソインデントコードを書いていたような気がします.だけれどある日,気づきを得たから今はそんなに汚...今でも汚いのか?う〜ん,わからん.

人に聞く,これが一番大事なことです.きっとキミらが不便だと感じていることの9割9分はダレかが簡単にする方法を見つけています.だから,人に聞けば解決するかもしれないし,Googleで検索すれば見つかるかもしれない.

情報科学コースのみなさまにおかれましては,目の前にあるハコをただのインターネットブラウザが使える機械だと思わずに,どんどん深みに飛び込んでいって欲しいと思います.

きっとこれを上から目線のメッセージだと受け取る人もいるでしょうから,そうではないことを示しておきます.

今日日,実際,飛び込んだ子はすでに居るし,いつ追い越されるかヒヤヒヤしながら生活しています.だって数ヶ月前はSafariしか使ってなかったような子が,今ではHomebrewを使ってソフトウェアをインストールし,Terminal.appから操作して様々な作業を行っているのですから.果てはC++始めるみたいで,すごいですね.1

これは僕が教え込んだわけではなくて,あくまでも能動的にやっていることだと信じています.

みなさまにおかれましては,「プログラミングできるようになる」なんてタイソウな目標を立てずに,「目の前の小さな課題を解決するための道具」を,上手く活用していって欲しいと思います.そのためのヒントは,僕がいつでも差し上げますし,僕じゃなくなって,誰かに聞けばいいわけです.

いや,やっぱり聞かなくてもいい.何か困ったことがあったら,今すぐ解決しよう.


来年はどうする?

そろそろ身の振り方を決めなきゃね.というカンジですな.

2年生早い.大学早い.あ〜なにもしてない.


  1. macOS前提かよ!というツッコミがありそう.

セキュリティ・ミニキャンプ in 沖縄 2016 専門講座

この記事は群馬大学電子計算機研究会 IGGG Advent Calendar 2016 24日目の記事です.
世間はクリスマスイブですが,私は予定はありません.
こんにちは,atponsです.
今回はセキュリティ・ミニキャンプ in 沖縄 2016に縁がありチューターとして参加しました.
12月16日に一般講座が開催され,12月17日・18日には専門講座が開催されました.
一般講座の話は行程中に書いているのでごらんください.
旅程の都合で18日は途中で帰宅してしまいましたが,なるべく色々書いてみようと思います.

続きを読む

セキュリティ・ミニキャンプ in 沖縄 2016 0日目&1日目

この記事は群馬大学電子計算機研究会 IGGG Advent Calendar 2016 17日目の記事です.

f:id:atpons:20161217002834j:plain:w300

みなさんこんにちは,atponsです.
今回はセキュリティ・ミニキャンプ in 沖縄 2016に縁がありチューターとして参加しています.
12月16日に一般講座が開催され,12月17日・18日には専門講座が開催されます.

この記事では沖縄に来た話と,一般講座の話を少ししたいと思いますが,一般講座はほぼ満席に近くチューターの私はあまり聴講できなかったので内容薄めです.

終わってから再度まとめます!

0日目

f:id:atpons:20161217000808j:plain:w300
初飛行機でした.最高ですね.

f:id:atpons:20161217000835j:plain:w300
那覇空港でとりあえず沖縄そばを食べなくてはと思いググって空港食堂へ.
このときは沖縄そばとソーキそばの違いが分からず沖縄そばを注文しました.
ソーキは部位のことらしく,軟骨までいただけるらしいです.

おもろまちに宿泊し,那覇メインプレイスに行きとりあえず紅芋タルトを買って終了.

1日目

f:id:atpons:20161217001027j:plain:w300
セキュリティ・ミニキャンプ in 沖縄 2016 一般講座は,那覇市おもろまちにある内閣府那覇第二地方合同庁舎で行われました.

f:id:atpons:20161217001139j:plain:w300

開催内容はこちらをご覧いただくとして,とにかく盛況でした.100名を超えるのではないかという感じの方々が集まっていて沖縄もセキュリティの波が来ていると感じました.

拝聴した『ファジング動向とUSBを介した脅威の紹介』では,USB Killerの動画として以下の動画が紹介されていました.

USB Flash drive that destroys computers!

USB関連の脅威としてUSB Killer,BadUSB,不審なUSBメモリが最近は出てきていること,そして関連として偽装USB充電器も脅威として考えられるというのは大変興味深い話でした.

初空港の時に100VコンセントだけでなくUSBポートが充電用に設置されていたのを思い出しましたが,その裏にBadUSBであったりUSB HIDをエミュレートする何かを仕込むことで簡単に脅威になりうるというのは確かにあるかもと思いました.

その他にも映像出力などの標準で実装されている機能がリスクになりうるのはかなり危険だと考えさせられました.

まとめ

f:id:atpons:20161217002205j:plain:w300
沖縄の食文化の感想は「肉」です.とりあえず肉くっとけばどうにかなるの精神.
今日もジャッキというステーキをシメ(?)に食べました.
ラーメン食べるよりはあっさりしていて合理的なのかもしれません.

ということで明日からは専門講座が2日ありますので,そのレポートもできればと思っています.

今年のセキュリティ・ミニキャンプは終わりですが,来年2月に「セキュリティ・ミニキャンプ in 近畿 2017(京都)」が予定されています.興味のある方はぜひ見てみてください.

ディスプレイフィルタ - The Wireshark Wiki (日本語訳)

本記事は IGGG Advent Calendar 2016 10日目の記事です.
今回は WiresharkWiki を日本語訳します.今回は DisplayFilters - The Wireshark Wiki です.
環境は English を想定しています.

    • -

ディスプレイフィルタ

Wiresharkは一般的なパケットを表示やカラーリングルールのためにディスプレイフィルタを利用します.
ディスプレイフィルタの基本や文法についてはユーザーズガイドに記載されています.
もし特定のプロトコルに関するディスプレイフィルタを必要とする場合はプロトコルリファレンスをご覧ください.

ディスプレイフィルタはキャプチャフィルタではない:

キャプチャフィルタ(例:tcp port 80)は,ディスプレイフィルタ(例:tcp.port == 80)ではありません.
こちらもご覧ください: CaptureFilters#Capture_filter_is_not_a_display_filter

見本

SMTP(ポート25)とICMPトラフィックのみを表示する]

tcp.port eq 25 or icmp

LAN内(インターネットではない,ワークステーションとサーバの間)のトラフィックのみを表示する場合:

ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16

TCP バッファが一杯*1(ソースが宛先にデータの送信を停止する指示をしたとき):

tcp.window_size == 0 && tcp.flags.reset != 1

Windows 向けフィルタ -- Windows クライアントとデータベース間の通信をフィルタする

smb || nbns || dcerpc || nbss || dns

Sasser ワーム

ls_ads.opnum==0x09

8バイトのUDPヘッダを無視し,UDPペイロードの最初の任意の3バイト 0x81,0x60,0x03を含むパケットをフィルタする(16進数のみ,独自プロトコルに役に立つでしょう):

udp[8:3]==81:60:03

slice 機能はMACアドレスのOUIをフィルタすることにも役に立ちます.詳しくはEthernetページをご覧ください,これであなたは特定のデバイス製造元のみのパケットをフィルタすることができます(たとえばDELLマシンのみ):

eth.addr[0:3]==00:06:5B

これらはどのフィールドやプロトコルの中で検索するときに利用できます.

UDPヘッダもしくはペイロードに含まれる 0x81,0x60,0x03 を見つける:

udp contains 81:60:03

SIP Toヘッダに含まれる文字列"a1762"を見つける:

sip.To contains "a1762"

これらの記号には正規表現Perl正規表現文法に従います.(Wiresharkはlibpcreとビルドされている必要があります.)

HTTPリクエストの最後のURI文字列に含まれる"gl=se"をフィルタする:

http.request.uri matches "gl=se$"

ノート: $ はPCREの句読点で,文字列の最後と一致させます.この場合ではhttp.request.uriフィールドの最後です.

プロトコル(たとえばSIP)でフィルタし,不要なIPをフィルタする:

ip.src != xxx.xxx.xxx.xxx && ip.dst != xxx.xxx.xxx.xxx && sip

落とし穴

いくつかのフィルタフィールドは複数のプロトコルフィールドと矛盾してマッチします.
たとえば,"ip.addr"はIPヘッダに含まれるソースアドレスと宛先アドレスをフィルタします.
これは"tcp.port","udp.port","eth.addr"なども同じです.

ip.addr == 10.43.54.65

ip.src == 10.43.54.65 or ip.dst == 10.43.54.65

と同値です.

直感的にこれらにも当てはまるでしょう.もし私達が10.43.54.65からのトラフィックをフィルタしたいなら
以下の

ip.addr != 10.43.54.65

ip.src != 10.43.54.65 or ip.dst != 10.43.54.65

と同値です.
これは,「ソースIPv4アドレスが10.43.54.65からかつ宛先IPv4アドレスが10.43.54.65のトラフィックを除いたすべてのトラフィックをフィルタする」ということですが,これらは私達が望んでいないことです.

代わりに,私達がこう表現する必要があります.

! ( ip.addr == 10.43.54.65 )

! (ip.src == 10.43.54.65 or ip.dst == 10.43.54.65)

と同値です.

これは「ソースIPv4アドレスが10.43.54.65もしくは宛先IPv4アドレスが10.43.54.65のトラフィックを除いたすべてのトラフィックをフィルタする」ことで,私達が望んでいたことです.

例えば,トンネルされたプロトコルであなたが2つのIPv4もしくはIPv6レイヤーを分離もしくは2つのIPv4もしくはIPv6ヘッダを分離するためや,あなたが他の理由でフィールドに複数のインスタンスが必要になることがあります.(例: IPv6のネクストヘッダフィールド)

name op valueはnameフィールド,opは==や!=や<のような比較のオペレータで,valueは値です.
少なくとも1つの該当するnameフィールドがあり,同値(でない),少ない(などの)valueが存在することと意味は同じです.その逆は,少なくとも1つの該当するnameフィールドがなく,同値(でない),少ない(などの)valueが存在することと意味は同じです.無効,逆を表す簡単なオペレータは==と!=や<と>=で,あとは元の意味と確認するために無効の否定を確かめてください.

こちらも参照

CaptureFilters

外部リンク

Displaying HTTP traffic to debug Apache
Capture and display filter Cheat sheets

___
This article is under the GNU General Public License.

*1:筆者注: TCP ゼロウィンドウ