Chance Posted January 13, 2013 Posted January 13, 2013 (edited) How can I determin how a person is connected to the internet? Example: I wana know if someone is behind a router or just directly connected to a modem. I need to know this because I have a problem where a script will try to create a server on a users PC and send itself some requests to check some basic things. The problem comes when the user is not behind a router and just connected to a modem and the script doesn't need to automatically foward ports and just wait for a user to allow the firewall to let it do stuff. thanks for any info Edited January 13, 2013 by DeputyDerp
BrewManNH Posted January 13, 2013 Posted January 13, 2013 Check the local IP address, I'm pretty sure if it's a router it's going to have an IP address in the range of 192.168.xxx.xxx, If it's not on a router, the local IP address probably will never equal that range, uless you've got a very strange cable modem. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Developers Jos Posted January 13, 2013 Developers Posted January 13, 2013 I need to know this because I have a problem where a script will try to create a server on a users PC and send itself some requests to check some basic things.The problem comes when the user is not behind a router and just connected to a modem and the script doesn't need to automatically foward ports and just wait for a user to allow the firewall to let it do stuff.This doesn't make much sense to me. How can the script do port forwarding in stead of the NatRouter? SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
Developers Jos Posted January 13, 2013 Developers Posted January 13, 2013 Check the local IP address, I'm pretty sure if it's a router it's going to have an IP address in the range of 192.168.xxx.xxx, If it's not on a router, the local IP address probably will never equal that range, uless you've got a very strange cable modem.There are other private subnets that are used like 10.?.?.? or 172.16.?.? which will always have a NAT to get to the internet, but that doesn't guarantee that a public IP address isn't Natted when connection to the internet.Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
BrewManNH Posted January 13, 2013 Posted January 13, 2013 (edited) Most cable modems don't do NAT as far as I'm aware. So the IP address should be the external IP address visible to the world. EDIT: I'm presupposing the OP was referencing a home computer user, the IP addresses used on a corporate network will of course be different. Edited January 13, 2013 by BrewManNH If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Chance Posted January 13, 2013 Author Posted January 13, 2013 (edited) So the IP address should be the external IP address visible to the world.Yes, I just asked a few people to run ConsoleWrite(@IPAddress1 & @CR) and tell me what came up.Those that were using a router all got back the IP set through DHCP, which are those 192.168.X.X addresses.I didn't know that @IPAddress1 returned the external IP of a user when connected through the modem.This doesn't make much sense to me. How can the script do port forwarding in stead of the NatRouter?Oh, I'm sorry, the script will basically use "HNetCfg.NATUPnP" to tell the router to use a port for the specific PC.But currently, I don't have a solid way of knowing how the user is connected through a router or just directly to the modem.I'm looking for something that can help me trigger the part where it will set the ports to use for the local machine only if necessary. Edited January 13, 2013 by DeputyDerp
Nunos Posted January 13, 2013 Posted January 13, 2013 (edited) Default Gateway or Residential Gateway may give a little more indication as well. If it is in a private subnet then you can assume it is a router that is handling the dhcp.http://en.wikipedia.org/wiki/Private_networkThat has all of the private IP ranges. Which are IP's that technically are not routable on the internet as I understand it.Here is an article about PAT which is a more accurate term than NAT for what most residential grade routers do.http://www.webopedia.com/DidYouKnow/Computer_Science/2006/NAT_and_PAT.asp Edited January 13, 2013 by Nunos
Chance Posted January 15, 2013 Author Posted January 15, 2013 Default Gateway or Residential Gateway may give a little more indication as well. If it is in a private subnet then you can assume it is a router that is handling the dhcp.http://en.wikipedia.org/wiki/Private_networkThat has all of the private IP ranges. Which are IP's that technically are not routable on the internet as I understand it.Here is an article about PAT which is a more accurate term than NAT for what most residential grade routers do.http://www.webopedia.com/DidYouKnow/Computer_Science/2006/NAT_and_PAT.aspThank you, I'll be sure to keep this bookmarked.
guinness Posted January 15, 2013 Posted January 15, 2013 @IPAddress1 returns what you see when you type ipconfig. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now