Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Subnet Sniffer V4
Winsock="wwwsk34I.dll" Win95="www9534I.dll" AddExtender(Winsock) AddExtender(Win95) crlf=strcat(Num2Char(13),Num2Char(10)) AvailableList="" FinalDisplayList="" CpterFile="Cpter.lst" AvailableCount=0 CompleteLength=900 SelectAddressesFormat=`WWWDLGED,5.0` SelectAddressesCaption=`Subnet Sniffer` SelectAddressesX=60 SelectAddressesY=76 SelectAddressesWidth=144 SelectAddressesHeight=67 SelectAddressesNumControls=7 SelectAddresses01=`40,48,64,DEFAULT,PUSHBUTTON,DEFAULT,"Start Sniffer",1` SelectAddresses02=`2,4,56,DEFAULT,STATICTEXT,DEFAULT,"Network Address"` SelectAddresses03=`90,4,48,DEFAULT,EDITBOX,Net1,"111.222.333"` SelectAddresses04=`2,18,64,DEFAULT,STATICTEXT,DEFAULT,"Start Host Address"` SelectAddresses05=`90,18,48,DEFAULT,EDITBOX,StartHost,"111"` SelectAddresses06=`2,32,78,DEFAULT,STATICTEXT,DEFAULT,"Finished Host Address"` SelectAddresses07=`90,32,48,DEFAULT,EDITBOX,FinishHost,"111"` DataCheck=@False ErrorCodes="" ;********************************************************************************************* WGList=w95Resources("",2,0,0) CpterList="" IPList="" NeededWG=AskItemList("Select the necessary Workgroup to sniff",WGList,@Tab,@sorted,@single) WGCount=ItemCount(NeededWG,@Tab) For i = 1 to WGCount WorkingWG=ItemExtract(i,"%NeededWG%",@Tab) ComputerList=w95Resources("%NeededWG%",2,0,0) ComputerCount=ItemCount(ComputerList,@Tab) Counter=0.0 For cc=1 to ComputerCount BoxColor(1,"192,192,192",0) BoxOpen("Collecting Network Information","Please be patient...") BoxPen(1,"255,255,255",100) BoxDrawRect(1,"70,800,%CompleteLength%,700",0) PercentComplete=Counter / ComputerCount TextComplete=int(PercentComplete * 100) PercentLength=CompleteLength*PercentComplete PercentDraw=Int(PercentLength) BoxPen(1,"0,255,0",100) BoxDrawRect(1,"70,800,%PercentDraw%,700",0) BoxDrawText(1,"70,800,%CompleteLength%,700","%TextComplete% %%",@False,1) BoxDataTag(1,"Tag1") BoxDataClear(1,"Tag1") CpterPull=ItemExtract(cc,ComputerList,@Tab) ;Message("CPTRPULL",CpterPull) If StrSub(CpterPull,1,2) == "\\" CpterIP=wxHost2Addr(strSub(CpterPull,3,-1)) Else CpterIP=wxHost2Addr(CpterPull) Endif Counter=Counter+1 IPList=strcat(CpterIP,";",IPList) CpterList=strcat("%NeededWG%","/",strSub(CpterPull,3,-1),";",CpterList) Next cc BoxDestroy(1) Next i ;*************************************************************** ;End of Network Retrieval ;Message("IP List",IPList) While DataCheck==@False ButtonPushed=Dialog("SelectAddresses") DataCheck=@True ErrorCodes="" UserDisplay="" ;Verify that the Network Address Meets ALL Standards ;Network 001 - Needs 3 Octets If ItemCount(Net1,".") <> 3 DataCheck=@False ErrorCodes=strcat("001",";",ErrorCodes) Endif ;Network 101 - Octet 1 Must be Less than 255 If ItemExtract(1,Net1,".") > 254 DataCheck=@False ErrorCodes=strcat("101",";",ErrorCodes) Endif ;Network 102 - Octet 1 Must be Greater than 0 If ItemExtract(1,Net1,".") < 1 DataCheck=@False ErrorCodes=strcat("102",";",ErrorCodes) EndIf ;Network 103 - Octet 1 Must be a valid Integer If IsInt(ItemExtract(1,Net1,"."))==@False DataCheck=@False ErrorCodes=strcat("103",";",ErrorCodes) EndIf ;Network 201 - Octet 2 Must be Less than 255 If ItemExtract(2,Net1,".") > 254 DataCheck=@False ErrorCodes=strcat("201",";",ErrorCodes) Endif ;Network 202 - Octet 2 Must be Greater than 0 If ItemExtract(2,Net1,".") < 1 DataCheck=@False ErrorCodes=strcat("202",";",ErrorCodes) EndIf ;Network 203 - Octet 2 Must be a valid Integer If IsInt(ItemExtract(2,Net1,"."))==@False DataCheck=@False ErrorCodes=strcat("203",";",ErrorCodes) EndIf ;Network 301 - Octet 3 Must be Less than 255 If ItemExtract(3,Net1,".") > 254 DataCheck=@False ErrorCodes=strcat("301",";",ErrorCodes) Endif ;Network 302 - Octet 3 Must be Greater than 0 If ItemExtract(3,Net1,".") < 1 DataCheck=@False ErrorCodes=strcat("302",";",ErrorCodes) EndIf ;Network 303 - Octet 3 Must be a valid Integer If IsInt(ItemExtract(3,Net1,"."))==@False DataCheck=@False ErrorCodes=strcat("303",";",ErrorCodes) EndIf ;Check to see that the HOST Address meets ALL necessary Criteria ;Host 401 - Start Host Must be less than 255 If StartHost > 254 DataCheck=@False ErrorCodes=strcat("401",";",ErrorCodes) Endif ;Host 402 - Start Host Must be Greater than 0 If StartHost < 1 DataCheck=@False ErrorCodes=strcat("402",";",ErrorCodes) Endif ;Host 403 - Start Host Must be a valid Integer If IsInt(StartHost)==@False DataCheck=@False ErrorCodes=strcat("403",";",ErrorCodes) Endif ;Host 501 - Finish Host Must be less than 255 If FinishHost > 254 DataCheck=@False ErrorCodes=strcat("501",";",ErrorCodes) Endif ;Host 502 - Finish Host Must be Greater than 0 If FinishHost < 1 DataCheck=@False ErrorCodes=strcat("502",";",ErrorCodes) Endif ;Host 503 - Finish Host Must be a valid Integer If IsInt(FinishHost)==@False DataCheck=@False ErrorCodes=strcat("503",";",ErrorCodes) Endif ;Host 601 - Start Host Must be Less Than Finish Host If StartHost > FinishHost DataCheck=@False ErrorCodes=strcat("601",";",ErrorCodes) Endif ;Host 602 - Start Host Cannot be Equal to Finish Host If StartHost == FinishHost DataCheck=@False ErrorCodes=strcat("602",";",ErrorCodes) Endif ;Display Messages to the user on what to change If DataCheck==@False If ItemLocate("001",ErrorCodes,";") <> 0 UserDisplay=strcat("001 - Network Requires 3 Octets",";",UserDisplay) EndIf If ItemLocate("101",ErrorCodes,";") <> 0 UserDisplay=strcat("101 - Network Octet 1 Must be Less than 255",";",UserDisplay) EndIf If ItemLocate("102",ErrorCodes,";") <> 0 UserDisplay=strcat("102 - Network Octet 1 Must be Greater than 0",";",UserDisplay) EndIf If ItemLocate("103",ErrorCodes,";") <> 0 UserDisplay=strcat("103 - Network Octet 1 Must be a Valid Integer",";",UserDisplay) EndIf If ItemLocate("201",ErrorCodes,";") <> 0 UserDisplay=strcat("201 - Network Octet 2 Must be Less than 255",";",UserDisplay) EndIf If ItemLocate("202",ErrorCodes,";") <> 0 UserDisplay=strcat("202 - Network Octet 2 Must be Greater than 0",";",UserDisplay) EndIf If ItemLocate("203",ErrorCodes,";") <> 0 UserDisplay=strcat("203 - Network Octet 2 Must be a Valid Integer",";",UserDisplay) EndIf If ItemLocate("301",ErrorCodes,";") <> 0 UserDisplay=strcat("301 - Network Octet 3 Must be Less than 255",";",UserDisplay) EndIf If ItemLocate("302",ErrorCodes,";") <> 0 UserDisplay=strcat("302 - Network Octet 3 Must be Greater than 0",";",UserDisplay) EndIf If ItemLocate("303",ErrorCodes,";") <> 0 UserDisplay=strcat("303 - Network Octet 3 Must be a Valid Integer",";",UserDisplay) EndIf If ItemLocate("401",ErrorCodes,";") <> 0 UserDisplay=strcat("401 - StartHost Must be less than 255",";",UserDisplay) EndIf If ItemLocate("402",ErrorCodes,";") <> 0 UserDisplay=strcat("402 - StartHost Must be greater than 0",";",UserDisplay) EndIf If ItemLocate("403",ErrorCodes,";") <> 0 UserDisplay=strcat("403 - StartHost Must be a vailid integer",";",UserDisplay) EndIf If ItemLocate("501",ErrorCodes,";") <> 0 UserDisplay=strcat("501 - FinishHost Must be less than 255",";",UserDisplay) EndIf If ItemLocate("502",ErrorCodes,";") <> 0 UserDisplay=strcat("502 - FinishHost Must be greater than 0",";",UserDisplay) EndIf If ItemLocate("503",ErrorCodes,";") <> 0 UserDisplay=strcat("503 - FinishHost Must be a vailid integer",";",UserDisplay) EndIf If ItemLocate("601",ErrorCodes,";") <> 0 UserDisplay=strcat("601 - StartHost Must be less than FinishHost",";",UserDisplay) EndIf If ItemLocate("602",ErrorCodes,";") <> 0 UserDisplay=strcat("602 - StartHost Cannot be equal to FinishHost",";",UserDisplay) Endif UserResponse=AskItemList("Errors with entries",UserDisplay,";",@sorted,@multiple) Endif EndWhile HostCount=(FinishHost - StartHost) + 1 ;Difference between start and finish hosts HostCount=HostCount+0.0 StartHost=StartHost+0.0 CompleteCount=0 For i= StartHost to FinishHost by 1 completeCount=CompleteCount+1 HostDigit=Int(i) Host=strcat(Net1,".",HostDigit) BoxColor(1,"192,192,192",0) BoxOpen("Searching For %Host%","Host: %Host% %crlf% %crlf% Hosts Found: %AvailableCount% %crlf% HostsSearched: %CompleteCount%") BoxPen(1,"255,255,255",100) BoxDrawRect(1,"70,800,%CompleteLength%,700",0) PercentComplete=CompleteCount / HostCount TextComplete=int(PercentComplete * 100) PercentLength=CompleteLength*PercentComplete PercentDraw=Int(PercentLength) BoxPen(1,"0,255,0",100) BoxDrawRect(1,"70,800,%PercentDraw%,700",0) BoxDrawText(1,"70,800,%CompleteLength%,700","%TextComplete% %%",@False,1) BoxDataTag(1,"Tag1") BoxDataClear(1,"Tag1") Available=ItemLocate(Host,IPList,";") If Available <> 0 AvailableList=strcat(Host,";",AvailableList) Endif Next i ;Message("",AvailableList) ;AskItemList("Available Hosts",AvailableList,";",@sorted,@multiple) ;FinalCount=ItemCount(AvailableList,";") AvbleListCount=ItemCount(AvailableList,";") handle=FileOpen(CpterFile,"WRITE") For j=1 to AvbleListCount testIP=ItemExtract(j,AvailableList,";") IPLookup=ItemLocate(testIP,IPList,";") ;Message("IP Lookup",IPLookup) If IPLookup <> 0 CpterWrite=ItemExtract(IPLookup,CpterList,";") FileWrite(handle,"%testIP% %CpterWrite%") Else FileWrite(handle,"%testIP% ???UnknownHost???") Endif Next j FileClose(handle) Run("C:\Windows\Notepad.exe",CpterFile) ;For organize = 1 to FinalCount ; testAddress=ItemExtract(organize,AvailableList,";") ; testHost=wxAddr2Host(testAddress) ; FinalDisplayList=strcat(testAddress," (",testHost,")",";") ;Next Organize ;AskItemList("Available Hosts",FinalDisplayList,";",@unsorted,@single)
Article ID: W12673
Filename: Subnet Sniffer V4.txt
File Created: 2001:03:01:15:05:50
Last Updated: 2001:03:01:15:05:50