2011-12-17 11 views

答えて

1

(私の知る限り)号

これは、ソケットベースの拡張(sockets又はstreams)のいずれもがアクセスを提供しないであろうTCPヘッダへのアクセスを必要とするであろう。

SOCK_STREAMはデータペイロードしか提供しませんが、理論的にはそれを心配する必要はないため、ストリームの内部の低レベル動作に関する情報を得ることはできません(AFAIK)。

それかもしれ(?)あなたはおそらくこの情報へのアクセスを得ることができるが、私はそれさえも約100%自信を持っていないよ、とのことができます。その場合にSOCK_RAWを使用して、TCPストリームを実現することが可能となりますたとえそれがあっても、それは煩わしいことではないと確信してください。

あなたの下位レベルのコーディングスキルがどれほど良いかによっては、libpcapとのインターフェイスにPHP拡張機能をビルドすることができます。あなたもかもしれませんexec() ing tcpdumpでホストシステムで利用可能な限り何かをすることができます - 同様に、私はそれを疑うが、これは言語で実装することさえ可能でマルチスレッドをサポートしていません。これらのオプションのいずれかは、パケットのペイロードを調べて、SEQ番号でデータを同期させるためにPHPから送信したパケットと比較する必要があります。

+0

ありがとう、DaveRandom。拡張機能はオプションではありません。私が書いていることは、幅広い展開コンテキストで動作する必要があるからです。同様の理由から、 'exec()'と残りは安全モードがむしろ一般的であるために出ています。 –

関連する問題