WinPcapのライブラリを調べてたら、packet.dllに以下のような関数を見つけました。
パケットの送信も可能なのですね。しかも、Ethernetフレームレベルでのパケットなので、発信元、送信先のMACアドレスも指定できるようです。(逆にEthenetヘッダを作成しないといけないので、リンク層の知識も必要になる。)この関数の有用な使い方が何か無いか、現在模索中です。また、PacketReceivePacket関数は受信側だけでなく、送信側のパケットも読み取れるので、
WinSock2のダミーDLLと組み合わせれば、パケットの改変等の荒技もできそうです。
PR
2か月くらい前に描いたやつだけど、手はなくて手抜き。
足もないけどね
CVSを利用していたら、頻繁に以下のエラーが出てチェックアウトが止まってしまう状況に陥っていました。
cvs [checkout aborted]: cannot rename file CVS/Entries.Backup to CVS/Entries: Permission denied
すかさず、CVSROOT内のパーミッションを全部調べてみたけど、全部write権限がついていて問題がありませんでした。そうなると、何かのプロセスがEntriesファイルをロックしているのだろうと思い、FilemonでEntriesを読み込んでるプロセスを調べた所、TortoiseSVNのキャッシュプログラムがEntriesを確かに読み込んでいました。このプロセスを早速KILLして、再度チェックアウトを試みましたが一向に状況は改善されず…
2,3日放置してましたら、ふとひらめいて原因がわかりました
Avira Antivir(優秀なウイルススキャン)Σ(゜エ ゜かよっ
おそらくCVSで1つのファイルをアップデートする度に、Entries.Backup→Entriesにリネームしていくのでしょうが、この頻繁さ故に彼にロックされる危険性が増してたわけですね。Subversionに移行ですかね。。