タグ

ブックマーク / harasou.jp (4)

  • cat するたびに内容が変わるファイル?を作った

    こんな感じ。 cat で連続して nowファイルの内容を表示している。ファイルを変更しているわけではないが、 表示するたびに内容が変わる。 # cat now 2018-12-27 00:21:20 # cat now 2018-12-27 00:21:21 # cat now 2018-12-27 00:21:23 Fuse-BindEx どういう仕掛けかというと、今回作成した bindex ファイルシステムを経由して、 上記ファイルにアクセスしているため。この bindex というファイルシステムは、 「実行ファイルが read されたら、そのファイルを execute した際の出力を内容として返す」 という動作をする。上記nowファイルの当の内容はこちら。 #!/bin/bash date "+%F %T" 今回の場合、bindex 経由で cat (read) するたびに、dat

    cat するたびに内容が変わるファイル?を作った
  • 512バイトを超える DNSパケット

    glibc の脆弱性 CVE-2015-7547 でも話題になった 512バイトを超える DNS パケットについてのメモ。 DNS では、TCP が使われたり、512 バイト超えるデータが扱われることは知っていたが、詳しい仕組みなど知らなかったので、備忘録のためにまとめておく。 そもそもなぜ 512 バイト? 調べてみると、 インターネットで使われている IP(IPv4)の仕様では 一度に受信可能なデータグラム(ヘッダーを含むパケッ ト)として、 576 バイトを保証しなければならないと定められています。この値は、64バイトのヘッダーと 512バイトの データブロックを格納可能な大きさとして選択されたものです refs: https://jprs.jp/related-info/guide/008.pdf とのこと。 インターネットで使われている IP の仕様では、かならず「1パケットで

    512バイトを超える DNSパケット
  • Linuxでのサマータイム - JDTの来襲

    最近、サマータイム導入の話で盛り上がっているので、Linux ではどうなっているのか調べてみた。 JDT(Japan Daylight Saving Time)って知ってる? 70年前の今日、日はJST ではなくJDTだった。 $ date --date="70 years ago" Thu Aug 12 06:10:32 JDT 1948 JDT というのは、Japan Daylight Saving Time のことで、つまり、日の夏時間。 日でも 1948年から1951年の4年間、サマータイムが導入されていたので、 サマータイム中の日の表示時刻は、普段よく目にする JST ではなくJDT になっている。 (実際は Epoch以前の話なので、当時、使われたことはないと思う:-) カーネルの時間 カーネルは、何月何日と言った情報は持っていない。 管理しているのは Epoch(UT

    Linuxでのサマータイム - JDTの来襲
  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
  • 1