Bon moi aussi j'ai quelque ennuis (je cherche à faire un p2p privé)
Voilà un bout de code source un peu pompé d'lphant (remanié a ma sauce) fais sous vs2005.
Public
Class Sniffer Private m_UDPListenerSocket As System.Net.Sockets.Socket Private m_UDPSendPacket() As Byte Private m_UDPReceivePacket() As Byte Private m_RemoteIPEndPoint As System.Net.IPEndPoint Private m_RemoteEndPoint As System.Net.EndPoint Private m_PortIsAccesible As Boolean Public Sub New() snif()
End Sub Protected Overrides Sub Finalize() MyBase.Finalize() End Sub Private Sub snif() m_PortIsAccesible =
False ReDim m_UDPSendPacket(4999) ReDim m_UDPReceivePacket(4999) m_UDPListenerSocket =
New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Dgram, System.Net.Sockets.ProtocolType.Udp) Dim ep As New System.Net.IPEndPoint(System.Net.IPAddress.Any, 8007) m_UDPListenerSocket.Bind(ep)
m_ReceivePacket()
System.Threading.Thread.Sleep(5000)
Dim hostRemote As New System.Net.IPEndPoint(System.Net.IPAddress.Parse("82.125.29.65"), 8007) m_UDPListenerSocket.SendTo(System.Text.ASCIIEncoding.Default.GetBytes(
"Connexion", 0, 9), hostRemote) Console.WriteLine(
"paquet envoyé") End Sub Private Sub m_ReceivePacket() m_RemoteIPEndPoint =
New System.Net.IPEndPoint(System.Net.IPAddress.Any, 0) m_RemoteEndPoint = m_RemoteIPEndPoint
Try Console.WriteLine(
"On attends un paquet sur " & m_RemoteIPEndPoint.ToString) m_UDPListenerSocket.BeginReceiveFrom(m_UDPReceivePacket, 0, 5000, System.Net.Sockets.SocketFlags.None, m_RemoteEndPoint,
New AsyncCallback(AddressOf m_OnUDPPacketReceived), Nothing) Console.WriteLine(
"On a recu un paquet0") Catch ex As Exception If IsNothing(m_UDPReceivePacket) Then ReDim m_UDPReceivePacket(4999) End If If Not IsNothing(m_UDPListenerSocket) Then m_ReceivePacket()
End If End Try End Sub Private Sub m_OnUDPPacketReceived(ByVal ar As IAsyncResult) Console.WriteLine(
"On a recu un paquet") Dim nbytesRecibidos As Integer = 0 Try Console.WriteLine(
"On a recu un paquet") nbytesRecibidos = m_UDPListenerSocket.EndReceiveFrom(ar, m_RemoteEndPoint)
Catch ex As Exception Console.WriteLine(ex.ToString)
End Try If nbytesRecibidos > 0 Then Dim buffer As New System.IO.MemoryStream(m_UDPReceivePacket, 0, nbytesRecibidos) Dim bytes(buffer.Length - 1) As Byte buffer.Read(bytes, 0, buffer.Length)
Console.WriteLine(
"recu : " & System.Text.ASCIIEncoding.Default.GetString(bytes)) End If End Sub End
ClassSi tu trouve un myen de renifler des paquet qui apse apr la apsserelle, fais le moi savoir ... Je glère depuis longtmeps sur ca
L'homme était,est et sera un éternel apprenti