vb6 heeft geen rubriek meer?

Status
Niet open voor verdere reacties.

bugsbunny22

Gebruiker
Lid geworden
2 jan 2015
Berichten
21
Hallo allemaal,

Wat is er met VB6 gebeurd?

Ik had een vraagje om het uitgaande internet verkeer te filteren. Wat ik graag wou met de executable is:

als er communcatie via de NIC naar buiten gaat dat eerst wordt gekeken in MySql of naar dat IPAddress / URL mag worden gecommuniceerd. Indien ja, doorlaten, indien nee een melding op het scherm contact opnemen met de admin.

Ik weet alleen niet hoe ik de netwerkkaart kan aanspreken / controleren / laten negeren dat er iets naar buiten gaat...

Kan iemand me helpen of is dit met VB6 onmogelijk te bewerkswtelligen?

Groet,

Bugs
 
VB6 is ondertussen 8 jaar out-of-support en al bijna 14 jaar end-of-life. Ik vermoed dat het nu netjes onder "andere talen" valt.

Je zult sowieso een service moeten hebben en via COM direct onderdelen van windows aanspreken. Wat je hier wil doen heet een (filtering)proxy en er zijn redelijk wat kant-en-klare oplossingen voor.

Tenzij je nog op windows 98 zit kun je directe toegang tot zoiets als een netwerk kaart vergeten. Daar je toch direct met windows onderdelen moet werken maakt de oplossing eigenlijk ook niet veel uit. C/C#/C++/VB/VB.net etc. etc. moet allemaal via dezelfde interfaces.
 
VB6 is ondertussen 8 jaar out-of-support en al bijna 14 jaar end-of-life. Ik vermoed dat het nu netjes onder "andere talen" valt.

Je zult sowieso een service moeten hebben en via COM direct onderdelen van windows aanspreken. Wat je hier wil doen heet een (filtering)proxy en er zijn redelijk wat kant-en-klare oplossingen voor.

Tenzij je nog op windows 98 zit kun je directe toegang tot zoiets als een netwerk kaart vergeten. Daar je toch direct met windows onderdelen moet werken maakt de oplossing eigenlijk ook niet veel uit. C/C#/C++/VB/VB.net etc. etc. moet allemaal via dezelfde interfaces.

Hartelijk dank voor de snelle reactie!

Gezien het feit dat je er meer van weet dan ik wou ik je vragen of je dit voor me zou kunnen maken. Hoeveel gaat me dat kosten als ik ermee akkoord zou gaan?

grt.
 
VB6 is ondertussen 8 jaar out-of-support en al bijna 14 jaar end-of-life. Ik vermoed dat het nu netjes onder "andere talen" valt.

Je zult sowieso een service moeten hebben en via COM direct onderdelen van windows aanspreken. Wat je hier wil doen heet een (filtering)proxy en er zijn redelijk wat kant-en-klare oplossingen voor.

Tenzij je nog op windows 98 zit kun je directe toegang tot zoiets als een netwerk kaart vergeten. Daar je toch direct met windows onderdelen moet werken maakt de oplossing eigenlijk ook niet veel uit. C/C#/C++/VB/VB.net etc. etc. moet allemaal via dezelfde interfaces.

ps, ik was iets te snel met verzenden. Je schreef er zijn heel wat kant en klare oplossingen voor. Eentje zit in m'n virusscanner maar die werkt onhandig en daarbij kan ik dat niet delen met andere gebruikers binnenshuis. Naar kant en klare oplossingen heb ik gezocht maar tot op heden niets gevonden.
 
Lijkt me handiger als je eerst even kijkt wat er mis is met reeds beschikbare "parental control" / "web safety" of "filtering proxy" programma's die reeds beschikbaar zijn.

Is het voor 1 computer of het hele netwerk? Dit is software die letterlijk duizenden bedrijven gebruiken om te zorgen dat mensen niet vanaf het bedrijfsnetwerk naar porno kijken e.d.. bijna niet de moeite om zelf iets te schrijven.
 
Een populaire oplossing is squid. Daar zijn ook parental control addon's voor. En wat bedoel je met "delen"? Over het algemeen wil je dan een enkele server voor het hele huis, dan ben je meteen klaar.
 
Een populaire oplossing is squid. Daar zijn ook parental control addon's voor. En wat bedoel je met "delen"? Over het algemeen wil je dan een enkele server voor het hele huis, dan ben je meteen klaar.

Voor het hele huis. M'n ouders en ik. Tablet, mobile, pc, laptop. Dat wil ik delen met behulp van mysql. Opdat alleen DIE urls naar buiten mogen zenden.
 
Een populaire oplossing is squid. Daar zijn ook parental control addon's voor. En wat bedoel je met "delen"? Over het algemeen wil je dan een enkele server voor het hele huis, dan ben je meteen klaar.

squid heb ik daarnet getest. tis omslachtig met instellingen. de door mij voorgetstelde oplossing is overzichtelijker. Hoef je alleen maar in de database te kijken welke url/ip erin / eruit moeten. Ook kun je dat dan delen binnenshuis en zelfs ook op het internet als je mysql online hebt hangen. Klaar is kees.
 
voor simpele zaken moet je bij windows firewall kijken advanced ... (dan uitgaande of inkomende kiezen ) en de processen moet je zelf weten wat je wil doen.

socket lukt nog maar netwerkkaart zoek ik ook (ik weet hoe het ongeveer moet intern komt er dan een internet brug naar je standaart driver die de verbinding doorknipt en het zou zo iets moeten zijn)Ik ben op zoek om de verbinding te verbreken en niet mannueel.Ik zoek het ook en liefst zo snel mogelijk Ik denk beter landen te moeten opzoeken die die kennis wel kunnen leveren.

JAVA ref:
Code:
server:
			//Makes socket, binds addr/port, calls listen()
			ServerSocket sock = new ServerSocket(6013);
			while(true) {
				Socket client = sock.accept();
				PrintWriter pout = new
					PrintWriter(client.getOutputStream(),true);

				pout.println(“Here is data sent to client!”);
					…
				client.close();
			}

	client:
			// Makes socket, binds addr/port, calls connect()
			Socket sock = new Socket(“169.229.60.38”,6013);			BufferedReader bin = 
				new BufferedReader(
					new InputStreamReader(sock.getInputStream));
			String line;
			while ((line = bin.readLine())!=null)

vroeger diende je ook
+ wincap is om ip berichten te verzamelen

vroeger vbp extentie had lijn
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#E:\WINDOWS\System32\stdole2.tlb#OLE Automation

Object={248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0; MSWINSCK.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX

bvb ipconfig
Code:
VERSION 5.00
Begin VB.Form frmIP 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "ipconfig"
   ClientHeight    =   5385
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   9075
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5385
   ScaleWidth      =   9075
   StartUpPosition =   3  'Windows Default
   Begin VB.CommandButton cmd 
      Caption         =   "Refresh"
      Default         =   -1  'True
      Height          =   375
      Left            =   4080
      TabIndex        =   1
      Top             =   5000
      Width           =   855
   End
   Begin VB.TextBox txt 
      BackColor       =   &H00000000&
      BeginProperty Font 
         Name            =   "Courier New"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00FFFFFF&
      Height          =   4935
      Left            =   0
      Locked          =   -1  'True
      MultiLine       =   -1  'True
      ScrollBars      =   2  'Vertical
      TabIndex        =   0
      Top             =   0
      Width           =   9015
   End
End
Attribute VB_Name = "frmIP"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Const OS_ERROR = -1
Private Const OS_95 = 1

Private Type OSVERSIONINFO
  dwOSVersionInfoSize As Long
  dwMajorVersion As Long
  dwMinorVersion As Long
  dwBuildNumber As Long
  dwPlatformId As Long
  szCSDVersion As String * 128
End Type

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _
  (LpVersionInformation As OSVERSIONINFO) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
  ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
  (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const PROCESS_QUERY_INFORMATION = &H400

Private Sub cmd_Click()
  Dim nOS As Long
  Dim temp As String, bDNS As Boolean
  Dim hProcess As Long
  Dim ProcessId As Long
  Dim exitCode As Long
  
  Me.MousePointer = vbHourglass
  nOS = GetOSVersion
  If nOS = OS_ERROR Then
    MsgBox "Unsupported operating system"
    Exit Sub
  End If
  txt = ""
  
  Open App.Path & "\ip.bat" For Output As 1
  If nOS = OS_95 Then
    Print #1, "Winipcfg.exe /all /batch " & App.Path & "\1.txt"
    Print #1, "ren " & App.Path & "\1.txt ip.txt"
  Else
    Print #1, "ipconfig /all > " & App.Path & "\ip.txt"
  End If
  Close #1
  While Dir(App.Path & "\ip.bat") = ""
    DoEvents
  Wend
  ProcessId = Shell(App.Path & "\ip.bat", vbHide)
  If nOS = OS_95 Then
    While Dir(App.Path & "\ip.txt") = ""
      DoEvents
    Wend
  Else
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessId)
    Do
        Call GetExitCodeProcess(hProcess, exitCode)
        DoEvents
    Loop While exitCode > 0
  End If
  CloseHandle hProcess
  Open App.Path & "\ip.txt" For Input As 1
  While Not EOF(1)
    Line Input #1, temp
    If Trim(temp) <> "" Then txt = txt & Trim(temp) & vbCrLf
  Wend
  Close #1
  Kill App.Path & "\ip.bat"
  Kill App.Path & "\ip.txt"
  Me.MousePointer = vbNormal
End Sub

Private Sub Form_Load()
  cmd_Click
End Sub

Private Function GetOSVersion() As Long
  Dim os As OSVERSIONINFO
  Dim nRet As Long
  os.dwOSVersionInfoSize = Len(os)
  nRet = GetVersionEx(os)
  If nRet = 0 Then
    GetOSVersion = -1
  ElseIf os.dwPlatformId = 0 Then '"Windows 32s "
    GetOSVersion = -1 'not supported by this program
  Else
    GetOSVersion = os.dwPlatformId
  End If
End Function
 
Laatst bewerkt:
Dit is de reden waarom er proxies zijn. een standaard manier om verkeer te behandelen en om te leiden.

Het enige wat sinds windows vista met hardware mag praten zijn door microsoft goedgekeurde drivers. Eventueel kun je beveiligingsinstellingen aanpassen om niet goedgekeurde drivers te laden, maar dan moet je nog steeds een eigen driver schrijven.

Windows ondersteund proxies voor alle internet verkeer dus dat kun je gebruiken. Wbt Squid, daar zijn ook gewoon databases voor die je kan importeren. zie bijvoorbeeld:

http://www.squidguard.org/blacklists.html

Je moet natuurlijk even de software zoeken die bij je past, maar helemaal opnieuw beginnen is niet de beste oplossing.
 
Bij mijn laatste werkgever hadden we de Novell 'Border manager'. Die blokkeerde in beginsel alle communicatie en men moest per website aangeven wat vrijgegeven mocht worden (als het al werd goedgekeurd door netwerkbeheer). Helaas moet er dan een Novell PC tussen de internet bron en de gebruikers binnenshuis worden opgenomen. Dat is wat ik niet wil. Scheelt weer onderhoud aan de novell server, energy etc...

Mijn voorstel is ideaal de de gezinssituatie: een NAS met mysql met daarin een tabelletje waarin je de vrijgegeven websites aangeeft en op iedere windows-, android- etc. werkplek laat je kijken bij een url / internet verzoek of naar die puclieke server mag worden gecommuniceerd. Zo kun je simpel de goedgekeurde publieke websites/servers vrijgeven in de mysql tabel. Dan hoeven die kindersloten allemaal niet meer per pc worden ingesteld en kun je alles decentraal regelen. De gegevens uit de mysql table controleren is kinderspel, alleen de proxy filteren, dat kan ik niet... Op dit niveau heb ik nooit geprogrammeerd. M'n router kan dit allemaal wel doch echter met een limiet van 30. 30 Websites blokkeren is te weinig! Via MySql zijn daar geen grenzen aan en met een SQL instructie krijg je snel boven water of met die server mag worden gecommuniceerd dus hoeveel toegestane servers daar ook in zijn opgeslagen vertragen de controle niet echt aangezien dat razendsnel gaat.

Hiervoor is echt een gat in de markt! Ook sommige virusscanners kunnen dit echter moet je daar stuk voor stuk aangeven wat geblokkeerd moet worden en dat is echt onhandig. Bovenstaand voorstel is de beste optie: alles geblokkeerd behalve de servers in de tabel.
 
Wellicht is de oplossing: een heeeeeeel erg eenvoudig computertje (liefst hardwarematig opdat deze alleen maar gereset behoeft te worden in geval van calamiteiten) die via een switch alle internet verkeer oppikt en in de mysql database kijkt of het doorgelate mag worden of niet. Indien groen licht: door naar de internet bron. Zo hoeft niets meer op iedere pc te worden geinstalleerd en volstaat iedere standaard werkplek / besturingssysteem (win, apple etc.)
 
Wellicht is de oplossing: een heeeeeeel erg eenvoudig computertje (liefst hardwarematig opdat deze alleen maar gereset behoeft te worden in geval van calamiteiten) die via een switch alle internet verkeer oppikt en in de mysql database kijkt of het doorgelate mag worden of niet. Indien groen licht: door naar de internet bron. Zo hoeft niets meer op iedere pc te worden geinstalleerd en volstaat iedere standaard werkplek / besturingssysteem (win, apple etc.).

In dat geval hoeft er geen proxy tussenkomst meer te zijn en fungeert de extra hardware tussen internet en alle pc's als een soort internet-doorlaat-filter. Veel handiger. En niet beinvloedbaar van buiten- en binnenaf!!! Een ROM geheugen kun je niet beinvloeden.
 
als je viruele machines hebt dan is monowall een oplossing. zie iso mount van cd station en een stikje naar een usb poort op de server waar dan usb stick zit met knopje lock en unlock Hierdoor kan je het locken copyeren per server.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan