Hallo Liebe Coder
Ich versuche nun schon seit wochen ein gesnifftest packet umzumleiten. ich finde keine lösung ich würde mich auf eine antwort freuen.
Hier mein code:
[autoit]#include<Winpcap.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiEdit.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <Guilistview.au3>
#include <Date.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <Timers.au3>
#include <INet.au3>
#include <String.au3>
#include <Constants.au3>
#include <IE.au3>
#Region ### START Koda GUI section ### Form=
$hGui = GUICreate("", 377,94, 319, 239, $WS_POPUP, BitOR($WS_EX_LAYERED,$WS_EX_TOOLWINDOW,$WS_EX_TOPMOST))
GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hGui, 0xABCDEF, 255)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 377, 73, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_VSCROLL),$WS_EX_TRANSPARENT)
GUICtrlSetData(-1, "")
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, 0xABCDEF)
$Input1 = GUICtrlCreateInput("", 0, 73, 280, 21)
$Button1 = GUICtrlCreateButton("Send", 280, 73, 97, 21, $WS_GROUP)
_GUICtrlEdit_SetReadOnly($Edit1, True)
$oIE = _IECreateEmbedded ()
GUICtrlCreateObj($oIE, -30, -30, 0, 0)
$filter = "tcp port 5400"
$winpcap=_PcapSetup()
If ($winpcap=-1) Then
MsgBox(16,"Pcap error !","WinPcap not found !")
exit
EndIf
$pcap_devices=_PcapGetDeviceList()
If ($pcap_devices=-1) Then
MsgBox(16,"Pcap error !",_PcapGetLastError())
exit
EndIf
$int = $pcap_devices[0][0]
$pcap = _PcapStartCapture($int, $filter, 0)
If ($pcap = -1) Then
MsgBox(16, "Pcap error !", _PcapGetLastError())
EndIf
while 1
If IsPtr($pcap) Then
$time0 = TimerInit()
While (TimerDiff($time0) < 500)
$packet = _PcapGetPacket($pcap)
If IsInt($packet) Then ExitLoop
$sniff = sniff($packet[3])
If $sniff <> False Then
$var = StringMid($sniff,1,1)
If $var = "-" Then
ConsoleWrite($sniff&@CRLF)
If StringInStr($sniff, "2F67206720636D64206F6E") Then ; /gg cmd on
GUISetState(@SW_SHOW,$hGui)
WinActivate("[CLASS:D3D Window]")
EndIf
If StringInStr($sniff, "2F67206720636D64206F6666") Then ; /gg cmd off
GUISetState(@SW_HIDE,$hGui)
_GUICtrlEdit_SetText($Edit1, "")
WinActivate("[CLASS:D3D Window]")
EndIf
EndIf
EndIf
WEnd
EndIf
If WinExists("[CLASS:D3D Window]") Then
$size = WinGetPos("[CLASS:D3D Window]")
WinMove ($hGui,"",$size[0]+223,$size[1]+31,377,94)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Button1
If GUICtrlRead($Input1) = "help" Then
GUICtrlSetData($Input1,"")
_GUICtrlEdit_SetText($Edit1, "")
_GUICtrlEdit_AppendText($Edit1, "count -> Count User"&@CRLF)
_GUICtrlEdit_AppendText($Edit1, "ticket -> Open Ticket System"&@CRLF)
_GUICtrlEdit_AppendText($Edit1, "info -> Server Info"&@CRLF)
_GUICtrlEdit_AppendText($Edit1, "class -> Open the Class Ranking"&@CRLF)
_GUICtrlEdit_AppendText($Edit1, "gm -> Show Online GM"&@CRLF)
_GUICtrlEdit_AppendText($Edit1, "gmcount -> GM Count"&@CRLF)
EndIf
;~ If GUICtrlRead($Input1) = "count" Then
;~ $countuser = _INetGetSource("http://atlantia.eu/Game%20Manager/G-OnlineUser.php")
;~ _GUICtrlEdit_SetText($Edit1, "")
;~ _GUICtrlEdit_AppendText($Edit1, "Online User = "&$countuser&@CRLF)
;~ EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Else ; 15
If WinGetState($hGui) = 15 Then
WinSetState($hGui,"",@SW_HIDE)
EndIf
EndIf
WEnd
_PcapFree()
[/autoit][autoit][/autoit][autoit]Func sniff($data)
Local $ipheaderlen = BitAND(_PcapBinaryGetVal($data, 15, 1), 0xF) * 4
Local $tcpoffset = $ipheaderlen + 14
Local $tcplen = _PcapBinaryGetVal($data, 17, 2) - $ipheaderlen ; ip total len - ip header len
Local $tcpheaderlen = BitShift(_PcapBinaryGetVal($data, $tcpoffset + 13, 1), 4) * 4
Local $tcpsrcport = _PcapBinaryGetVal($data, $tcpoffset + 1, 2)
Local $tcpdstport = _PcapBinaryGetVal($data, $tcpoffset + 3, 2)
Local $tcpsequence = _PcapBinaryGetVal($data, $tcpoffset + 5, 4)
Local $tcpflags = _PcapBinaryGetVal($data, $tcpoffset + 14, 1)
Local $httpoffset = $tcpoffset + $tcpheaderlen + 1
Local $httplen = $tcplen - $tcpheaderlen
$sniff_packet = BinaryMid($data, $httpoffset)
If $httplen = 0 Then Return False ; empty tcp packet
If $tcpsrcport = 5400 Then
Return ">IN:" & $sniff_packet ; server ==> client
EndIf
If $tcpdstport = 5400 Then
Return "-OUT:" & $sniff_packet ; client ==> server
EndIf
EndFunc