  StreetSpirit Premium join:2002-08-13 Roslyn, NY
·Optimum Online
·Verizon Online DSL
| reply to n2jtx Re: docsdiag help
Most customers can also see their assigned 10.x.x.x number by doing a tracert. The first (or second for those with routers that show up in a tracert) hop is your modem's 10.x.x.x address.
C:\ipv6\bin>tracert www.cablevision.com
Tracing route to www.cablevision.com [66.54.41.193] over a maximum of 30 hops:
1 6 ms 6 ms 7 ms 10.41.xx.x <=--- 2 10 ms 8 ms 7 ms dstswr1-vlan2.rh.nyk2ny.cv.net [67.83.220.161] 3 8 ms 7 ms 8 ms r3-ge0-1-2.mhe.hcvlny.cv.net [67.83.220.129] 4 12 ms 8 ms 9 ms r1-srp0-0.wan.hcvlny.cv.net [65.19.104.193] <..snip..> Notice the 1st hop... Caveat: Some (very few) members can't do this if their CMTS doesn't reply to ICMP echo requests.
HTH David FWIW I use the -cmmac parameter and specify my HFC mac when running DocsDiag. |
|
 TheWiseGuy Dog And Butterfly Premium,MVM join:2002-07-04 Yonkers, NY
| Hmmm, the 10.xxx.xxxx.xxx IP that is the first hop in a tracert is the Default Gateway IP of the modem subnet, not the private IP of the cable modem. The Modem acts as a transparent bridge and therefore does not decrease the ttl and send an ICMP type 11 when the ttl = 0.
I believe you can see the IP of the cable modem by sniffing traffic and rebooting the modem or by using docsdiag via the formula in the FAQ. -- Dog and Butterfly |
|
  n2jtx
join:2001-01-13 Glen Head, NY
·Optimum Online
| When I traceroute to www.cablevision.com I get the first hop as 10.20.0.1 which is the gateway not the modem (same thing happens on Rogers cable in Mississauga, ON).
For those who have Perl and the Net::SNMP package installed on their system, this script I wrote some time ago can retrieve the network side address (as well as issue an alert if your uploads are capped). You need to be able to get a on 192.168.100.1 so you may need to remove your router temporarily:
# GetIP.pl - Query DOCSIS modem for network side IP address
use Net::SNMP;
# Use the standard Cable Modem address of 192.168.100.1 with a community string of public. # Unless it has been changed, this should work without any problems.
my $HOST = @ARGV[0]; my $HOST = "192.168.100.1" unless $HOST;
($session, $error) = Net::SNMP->session( -hostname => shift | $HOST, -community => shift | "public", -port => shift | 161, -timeout => 60 ); if (!defined($session)) { printf("ERROR: %s.\n", $error); exit 1; }
############################################################ my $OID_IpAdEntAddr = '1.3.6.1.2.1.4.20.1'; my $OID_QosMaxUpstream = '1.3.6.1.2.1.10.127.1.1.3.1.3.1'; ############################################################
$k = SNMPGetNextRequest($session, $OID_IpAdEntAddr); ($IPMib) = keys(%$k); printf("Network IP Address: %s\n", SNMPGetRequest($session, $IPMib) );
$QosMaxUpstream = SNMPGetRequest($session, $OID_QosMaxUpstream); printf("Qos Max Upstream Bandwidth: %s bps\n", Commas($QosMaxUpstream) ); print "\n** THE UPSTREAM BANDWIDTH HAS BEEN CAPPED **\n" if ($QosMaxUpstream < 1000000);
$session->close(); exit 0;
# # Commas( <Number> ) # # RETURN: Comma seperated number #
sub Commas { local($_) = @_; 1 while s/(.*\d)(\d\d\d)/$1,$2/; $_; }
# # SNMPGetRequest(<SNMP Session Object>, <OID String> ) # # RETURN: SNMP value for specified OID string #
sub SNMPGetRequest { local($session) = shift @_; local($OID) = shift @_;
if (!defined($response = $session->get_request($OID))) { printf("ERROR: %s.\n", $session->error()); $session->close(); exit 1; } return $response->{$OID} }
# # SNMPGetNextRequest(<SNMP Session Object>, <OID String> ) # # RETURN: Hash containing found OID. #
sub SNMPGetNextRequest { local($session) = shift @_; local($OID) = shift @_;
if (!defined($response = $session->get_next_request($OID))) { printf("ERROR: %s.\n", $session->error()); $session->close(); exit 1; } return $response; } -- I support the right to keep and arm bears. |
|
  StreetSpirit Premium join:2002-08-13 Roslyn, NY
·Optimum Online
·Verizon Online DSL
| The perl script works, thank you, it correctly identifies the private ip of the modem, however maybe you can help me debug this problem.
This is the output I get. I'm using CPAN's Net::SNMP package and ActiveState 5.8.6 Binary Build 811.
[code] $getoolip.pl Network IP Address: 10.41.96.xx == correct (not the gateway) ERROR: Received noSuchName(2) error-status at error-index 1.
$
I'm using Windows XP. I installed Net::SNMP with ppm3 (perl package manager). I ran it and got the above output.
I then installed the entire Win32 build of Net:SNMP with the same results.
My goal is to get this script working under XP. Thanks in advace, David |
|