2017-04-10 10 views
0

私は自分のコードを許可します。そのSb0t-Serverに接続するクライアントについて:私のプログラムとサーバトラフプロキシをどのように接続できますか?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Drawing.Drawing2D; 
using System.Threading; 
using System.Net; 
using System.Net.Sockets; 
using System.IO; 
using System.Runtime.InteropServices; 
namespace Antiban 
{ 
public partial class Form1 : Form 
{ 
    public Socket Socket; 
    public System.Net.Sockets.NetworkStream Stream; 
    public byte[] AvatarStream; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    public void ConectarBot(IPAddress ip, int puerto) 
    { 
     Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 

     label1.Text = "Conectando... por favor espera..."; 

     try 
     { 
      Socket.Connect(new IPEndPoint(ip, Convert.ToInt32(puerto))); 
     } 

     catch(Exception ex) 
     { 

     } 
     if (Socket.Connected == true) 
     { 
      label1.Text = "Conectado. Iniciando protocolo"; 

      Socket.Send(MSG_CHAT_CLIENT_LOGIN()); 

      label1.Text = "Conectado!"; 
     } 
    } 

    public byte[] MSG_CHAT_CLIENT_LOGIN() 
    { 
     List<byte> buffer = new List<byte>(); 
     buffer.AddRange(new byte[] { 2 }); 
     buffer.AddRange(Guid.NewGuid().ToByteArray()); 
     buffer.AddRange(BitConverter.GetBytes(Convert.ToInt16(666))); 
     buffer.AddRange(new byte[] { 0 }); 
     buffer.AddRange(BitConverter.GetBytes(Convert.ToInt16(5555))); 
     buffer.AddRange(new byte[] 
     { 
      0, 
      0, 
      0, 
      0, 
      0, 
      0, 
      0, 
      0, 
      0, 
      0 
     }); 
     buffer.AddRange(Encoding.UTF8.GetBytes(textBox1.Text)); 
     buffer.AddRange(new byte[] { 0 }); 
     buffer.AddRange(Encoding.UTF8.GetBytes("Antiban by Narciso")); 
     buffer.AddRange(new byte[] 
     { 
      0, 
      127, 
      0, 
      0, 
      1, 
      6, 
      6, 
      6, 
      6, 
      0, 
      0, 
      0, 
      0, 
      20, 
      1, 
      69 
     }); 
     buffer.AddRange(Encoding.UTF8.GetBytes("Ares")); 
     buffer.AddRange(new byte[] { 0 }); 
     buffer.InsertRange(0, BitConverter.GetBytes(Convert.ToInt16(buffer.Count - 1))); 
     return buffer.ToArray(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string i = textBox2.Text; 
     string p = textBox3.Text; 

     ConectarBot(System.Net.IPAddress.Parse(i), int.Parse(p)); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     List<byte> buffer = new List<byte>(); 
     buffer.AddRange(new byte[] { 10 }); 
     buffer.AddRange(Encoding.UTF8.GetBytes(textBox4.Text)); 
     buffer.InsertRange(0, BitConverter.GetBytes(Convert.ToInt16(buffer.Count - 1))); 
     Socket.Send(buffer.ToArray()); 

     textBox4.Clear(); 
    } 
} 

}

私は追加する必要がありますが、Sb0t-サーバートラフプロキシに接続するには? いくつかのアイデア?

まず、プロキシとサーバーに接続する必要があると思います。しかし、どうすればいいのか分かりません。

ありがとうございました:)

+1

この記事を読んでいますか? http://stackoverflow.com/questions/1938990/c-sharp-connecting-through-proxy –

+1

[C#Connect Through Proxy]の重複の可能性があります(http://stackoverflow.com/questions/1938990/c-sharp-connecting-プロキシ経由) –

答えて

0

手順が不明な場合は、次の記事も参照してください。

Here

  1. 接続プロキシへ。応答のラインの
  2. 問題CONNECT Host:Port HTTP/1.1<CR><LF>
  3. 問題<CR><LF>
  4. 待ちます。 HTTP/1.X 200が含まれている場合は、接続に成功しています。
  5. 空の行が表示されるまで、さらに反応する行を読んでください。
  6. 今、あなたはプロキシ経由で外部世界に接続しています。必要なデータ交換を行います。
+0

回答の下にある「フラグ」リンクを使用して、複製オプションを選択してください。複製物へのリンクを持つ複製物に答えることは、一般的に嫌われている。 –

+0

ありがとうございますMike McCaughan私はやるよ –

+0

こんにちはMike McCaughan、こんにちはJoshua Duxbury、あなたが私に与えたリンクは、Webにのみ適用されます。しかし、私はSb0t-Serverに接続したい。ありがとう:) –

関連する問題