Datenpaket über proxy versenden

  • geschlossen
  • C#

  • xparet0209
  • 4751 Aufrufe 6 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datenpaket über proxy versenden

    hi
    ich habe ein datenpacket über wireshark aufgezeichnet und möchte es halt über ein c# programm über proxy abschicken
    ich würde gerne die proxy list mit copy & paste einfügen können...
    leider habe ich noch keine genaue vorstellung wie ich es realisiern soll, wobei das größte probelm momentan bei mir die sachem mit dem datenpacket wäre...

    könnte mir jmd dabei helfen?
    mfg xparet0209
    [SIZE="4"][FONT="Comic Sans MS"]Ich knalle keine Menschen ab, sonder treffe die Hitbox eines Polygonmodells.[/FONT][/SIZE]
  • Ist von xsc, aber warum alles mehrmals schreiben?

    Quellcode

    1. Das WebProxy-Objekt
    2. Erster Schritt hierbei ist die Erstellung eines Objektes der Klasse System.Net.WebProxy. Hierzu brauchen wir die Adresse des Servers (ggf. seine IP) und den Port, über den er erreicht werden kann:
    3. System.Net.WebProxy proxy =
    4. new System.Net.WebProxy("http://<Adresse>:<Port>", true);
    5. Der zweite Parameter des Konstruktors gibt an, ob der Proxy für lokale Verbindungen (z.B. zu Testzwecken auf “http://localhost/”) umgangen werden soll.
    6. Authentifizierung
    7. Für die Authentifizierung, also für alle nicht-anonymen Proxies, muss ein System.Net.NetworkCredential-Objekt mit den entsprechenden Zugangsdaten erstellt und dem Proxy-Objekt zugewiesen werden:
    8. System.Net.NetworkCredential auth =
    9. new System.Net.NetworkCredential("<Benutzername>", "<Passwort>");
    10. proxy.Credentials = auth;
    11. Mithilfe eines so konfigurierten Proxy-Objektes kann man nun entweder mithilfe der HttpWebRequest-Klasse HTTP-Anfragen senden, oder mithilfe der WebClient-Klasse Dateien herunterladen – beides über die von uns gewählte Zwischenstation.
    12. HTTP-Requests über einen Proxy
    13. System.Net.HttpWebRequest request =
    14. (System.Net.HttpWebRequest) System.Net.WebRequest.Create("<URI>");
    15. request.Proxy = proxy;
    16. System.Net.HttpWebResponse response =
    17. (System.Net.HttpWebResponse) request.GetResponse();
    18. ...
    19. Datei-Download mit Proxy
    20. System.Net.WebClient client = new System.Net.WebClient();
    21. client.Proxy = proxy;
    22. client.DownloadFile("<URI>", "<lokaler Pfad>");
    Alles anzeigen
    Es ist besser zu schweigen und für einen Narren gehalten zu werden, als zu reden und damit alle Zweifel zu beseitigen ...
  • ok das mit dem proxy hab ich soweit hinbekommen

    aber ich möchte etwas zum server hinsenden

    im wireshark protokoll steht unter "hypertext transfer protocol" noch was anderes:
    Line-based text data: application/x-www-form-urlencoded
    vote=true&poll_id=5&poll_5=50

    wie bekomme ich das jetzt hin?
    [SIZE="4"][FONT="Comic Sans MS"]Ich knalle keine Menschen ab, sonder treffe die Hitbox eines Polygonmodells.[/FONT][/SIZE]
  • Mit dem MIME-Typ „application/x-www-form-urlencoded“ können URL-kodierte Daten gekennzeichnet werden. Bei der Übermittlung von Web-Formularangaben mittels der POST-Methode wird dieser MIME-Typ als Inhaltstyp (Content-Type) angegeben.

    Also einfach einen Post-Request absetzen:

    Quellcode

    1. HttpWebRequest request=
    2. (HttpWebRequest)WebRequest.Create(
    3. "http:\\www.blabla.com\services\service1.asp"
    4. );
    5. ASCIIEncoding encoding=new ASCIIEncoding();
    6. string postData="username=foo";
    7. postData += ( "&password=boo");
    8. byte[] data = encoding.GetBytes(postData);
    9. request.Method = "POST";
    10. request.ContentType = "application/x-www-form-urlencoded";
    11. request.ContentLength = data.Length;
    12. Stream newStream = request.GetRequestStream();
    13. newStream.Write(data,0,data.Length);
    14. newStream.Close();
    Alles anzeigen
    Es ist besser zu schweigen und für einen Narren gehalten zu werden, als zu reden und damit alle Zweifel zu beseitigen ...
  • iwie funtioniert das mit den proxy nicht so ganz
    wenn ich den proxy rausnehmen dann geht alles ohne probleme
    aber mit proxy geht es dann auf einmal nciht mehr...

    ich hab einfach geschrieben:


    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://***");
    myRequest.Proxy = proxy; //webproxy array
    myRequest.Method = "POST";
    myRequest.ContentType = " application/x-www-form-urlencoded";
    myRequest.ContentLength = byteArray.Length; ein text


    Stream newStream = myRequest.GetRequestStream();
    newStream.Write(byteArray, 0, byteArray.Length);
    newStream.Close();

    einige wenige proxys verursachen kein problem
    aber bei den meisten entsteht dann ein fehler:
    System.Net.WebException wurde nicht behandelt.
    Message="Die Verbindung mit dem Remoteserver kann nicht hergestellt werden."
    Source="System"
    StackTrace:
    bei System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
    bei System.Net.HttpWebRequest.GetRequestStream()
    bei vote_for_050.Form1.button1_Click(Object sender, EventArgs e) in D:\Users\xparet0209\Desktop\vote_for_050\vote_for_050\vote_for_050\Form1.cs:Zeile 78.
    bei System.Windows.Forms.Control.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
    bei System.Windows.Forms.Button.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
    bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    bei System.Windows.Forms.Application.Run(Form mainForm)
    bei vote_for_050.Program.Main() in D:\Users\xparet0209\Desktop\vote_for_050\vote_for_050\vote_for_050\Program.cs:Zeile 18.
    bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
    bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    bei System.Threading.ThreadHelper.ThreadStart()
    InnerException: System.Net.Sockets.SocketException
    Message="Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat 66.63.165.11:3128"
    Source="System"
    ErrorCode=10060
    NativeErrorCode=10060
    StackTrace:
    bei System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
    bei System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
    bei System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
    InnerException:

    heißt das jetzt das der proxy server down ist?
    denn wenn ich 66.63.165.11 an pinge funzt eigentlich alles

    und wie kann ich mehrer request gleichzeitig anfordern?
    [SIZE="4"][FONT="Comic Sans MS"]Ich knalle keine Menschen ab, sonder treffe die Hitbox eines Polygonmodells.[/FONT][/SIZE]

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von xparet0209 ()

  • Ping hilft hier nicht viel weiter.
    Das Protokoll ist ICPM.
    Der Port ist 7 (da bin ich mir nicht sicher).

    Der sagt also nichts über einen Proxy aus.
    Besser ist mal der Versuch ein Telnet zu machen.
    Dann kannst Du wenigstens sagen, ob jemand am Port "lauscht".
    Es ist besser zu schweigen und für einen Narren gehalten zu werden, als zu reden und damit alle Zweifel zu beseitigen ...