Ceci est utile pour connaître par exemple les infos identitaires correspondant à une IP qui se connecte à un serveur.
C'est le cas, pour ce qui me concerne, lorsque j'analyse certains logs de serveurs.
Les données identitaires correspondent à ce qui est déclaré au niveau des bases maîtresses pour les serveurs de noms associés à des adresses IP.
L'interrogation au RIPE ne permet pas de soumettre un nom de serveur, mais retourne entre autres le nom de domaine associé à une IP.
Si on veut pouvoir soumettre un nom de serveur, le mieux est d'ajouter un équivalent de ping pour récupérer l'adresse correspondant à un nom de serveur, et ensuite de soumettre cette IP au RIPE.
Pour utiliser le programme, il suffit donc d'entrer une adresse IP et de taper Return.
Code : Tout sélectionner
Enumeration
#Window_Main
#Gadget_String
#Gadget_Editor
EndEnumeration
Procedure.s ReceiveNetworkString(ConnectionID, *Buffer, BufferLength)
Result.s = ""
Length = BufferLength
While Length = BufferLength
Length = ReceiveNetworkData(ConnectionID, *Buffer, BufferLength)
Result + PeekS(*Buffer, Length)
Wend
ProcedureReturn Result
EndProcedure
Procedure.s RIPE(Server.s)
BufferLength = 1000
*Buffer = AllocateMemory(BufferLength)
ConnectionID = OpenNetworkConnection("whois.ripe.net", 43, #PB_Network_TCP)
If ConnectionID
String.s = ReceiveNetworkString(ConnectionID, *Buffer, BufferLength)
SendNetworkString(ConnectionID, "-B " + Server + Chr(10))
String + ReceiveNetworkString(ConnectionID, *Buffer, BufferLength)
String + ReceiveNetworkString(ConnectionID, *Buffer, BufferLength)
CloseNetworkConnection(ConnectionID)
EndIf
ProcedureReturn String
EndProcedure
;
;
;
If InitNetwork()
WindowWidth = 640
WindowHeight = 480
WindowTitle.s = "RIPE information request"
If OpenWindow(#Window_Main, 0, 0, WindowWidth, WindowHeight, WindowTitle, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Escape, #PB_Shortcut_Escape)
AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Return, #PB_Shortcut_Return)
If CreateGadgetList(WindowID(#Window_Main))
StringGadget(#Gadget_String, 10, 10, WindowWidth - 20, 20, "")
EditorGadget(#Gadget_Editor, 10, 40, WindowWidth - 20, WindowHeight - 50)
EndIf
Quit = #False
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = #True
Case #PB_Event_Menu
Select EventMenu()
Case #PB_Shortcut_Escape
Quit = #True
Case #PB_Shortcut_Return
SetGadgetText(#Gadget_Editor, RIPE(GetGadgetText(#Gadget_String)))
EndSelect
EndSelect
Until Quit
EndIf
EndIf
CallDebugger
End