?
Solved

TCP/IP: Determine IP# for PPP interface on WIN32

Posted on 1998-07-29
3
Medium Priority
?
211 Views
Last Modified: 2010-03-05
The following code will provide you with the IP# on the primary Ethernet Card in Win95. However, it won't let you find out your current PPP IP#.

Extra Special points for anyone who can tell me how to find ALL IP#'s on the machine (ex. 2 PPP connects + 2 ethernet cards) - using PERL not winipcfg :-)

Thanks,
Timothy


use Sys::Hostname;
print "start of an IP Poster in PERL\n";
print join '.', unpack 'C4', gethostbyname hostname;
print "\n" . hostname;
0
Comment
Question by:tcolson
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 

Expert Comment

by:ijduggan
ID: 1208876
Is it possible for you to just parse the output of the netstat program?

"netstat -n"  returns data on current connections. You could try something like:

my %connections;
open(NETSTAT, "netstat -n |");
while(<NETSTAT>) {


process netstat data


}

Does netstat provide you with enough information to do what you want?

0
 

Author Comment

by:tcolson
ID: 1208877
IJDUGGAN wrote:
>Does netstat provide you with enough information
>to do what you want?
Unfortunately no - Netstat provides you with currently active connections on specific ports. So, for example, right now I'm connected to my ISP...and every 5 minutes my email client polls for mail -> during this time:
C:\WINDOWS>netstat
Active Connections
  Proto  Local Address          Foreign Address        State
  TCP    homebrew:1045          popserver.somewhere.com:pop3  TIME_WAIT

However, after this connection has closed:
C:\WINDOWS>netstat
Active Connections
  Proto  Local Address          Foreign Address        State

-> No data. But I am still connected to my ISP...so there must be another way to find the IP#.

Perhaps the answer lies in finding out where WINIPCFG gets its information from??? This stuff must be in the registry somewhere, eh?

Thanks,
TLC

0
 
LVL 5

Accepted Solution

by:
b2pi earned 200 total points
ID: 1208878
It's doable... but somewhat difficult.  You'll rely heavily on the registry module, and I'll assume you know how to use that.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Adapters
has subkeys that are a list of all the adapters. Those that are active will have NameServer and NameServerBackup values (but those will be blank)

On my machine, I've got
HKLM\CurrentControlSet\Services\NetBT\Adapters\El90x1
and
HKLM\CurrentControlSet\Services\NetBT\Adapters\NdisWan6

Then, go to
HKLM\CurrentControlSet\Services\X\Parameters\Tcpip
(Where X is one of the listed subkeys above, for instance El90x1, above)
and look at the value IPAddress for for the IPAddress.

So, that's of moderate difficulty?
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

On Microsoft Windows, if  when you click or type the name of a .pl file, you get an error "is not recognized as an internal or external command, operable program or batch file", then this means you do not have the .pl file extension associated with …
In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Six Sigma Control Plans
Suggested Courses

741 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question