-2

C# でスニファーを作成しようとしましたが、Google でこのチュートリアルを見つけました。クラスTCPHeaderに追加しました

string wiad = Encoding.UTF8.GetString(byTCPData);
if (wiad.Contains("|"))
    MessageBox.Show(wiad);

受信したメッセージを表示するには、送信されたパケットしか表示されません。受信したデータも表示するには、どのように変更すればよいですか?

4

2 に答える 2

0

fiddler core library に基づいて sniffer を実装できます。より良い選択だと思います。ありがとう

FiddlerCore - .NET アプリケーション用の Fiddler プロキシ エンジン www.fiddler2.com/core/

于 2012-11-01T12:48:33.910 に答える
0

私は同じ問題に遭遇しましたが、最終的に、着信パッケージのスニッフィングをブロックしているのは Windows ファイアウォールであることがわかりました。Windows ファイアウォールをオフにすると、機能します。Win10では、コントロールパネルでオフにするか、コマンドを netsh advfirewall set allprofiles state off 使用するか、次のようなc#コードを使用できます

public static void TurnOffFireWall()
{
    // Have only been tested in Win10
    Process proc = new Process();
    string top = "netsh.exe";
    proc.StartInfo.Arguments = "advfirewall set allprofiles state off";
    proc.StartInfo.FileName = top;
    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.StartInfo.CreateNoWindow = true;
    proc.Start();
    proc.WaitForExit();
}

私はwin10でのみテストしていることに注意してください。他のシステムでは、コマンドが少し異なる場合があります。

于 2016-09-04T00:01:39.017 に答える