  StreetSpirit Premium join:2002-08-13 Roslyn, NY
·Optimum Online
·Verizon Online DSL
| reply to n2jtx Re: docsdiag help
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 |
|
  StreetSpirit Premium join:2002-08-13 Roslyn, NY
·Optimum Online
·Verizon Online DSL
1 edit | reply to howie Aaah! Now I get it  |
|
 TheWiseGuy Dog And Butterfly Premium,MVM join:2002-07-04 Yonkers, NY | reply to howie Thanks, a screen capture is the best way to show how it is done.  -- Dog and Butterfly |
|
  howie Premium,MVM join:2003-04-08 Little Falls, NJ
| reply to murcury
 Modem IP |
As TheWiseGuy has noted, a "packet sniffing" utility such as CommView is a fast and easy way to determine the IP of your modem. It's as simple as powering off your modem, starting the sniffer, plugging the modem back in and then as entries begin to appear, note the IP numbers next to the ARP entry with your modem's MAC. There will be two 10.xxx numbers shown. The lefthand number shown is your modem's IP (see above). A trial version of CommView is available here: »www.tamosoft.com -- "I'm as sure as I can be... without any, you know, proof!" - Adrian Monk |
|
  n2jtx
join:2001-01-13 Glen Head, NY
·Optimum Online
| reply to TheWiseGuy 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. |
|
 TheWiseGuy Dog And Butterfly Premium,MVM join:2002-07-04 Yonkers, NY
| reply to StreetSpirit 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 |
|
  StreetSpirit Premium join:2002-08-13 Roslyn, NY
·Optimum Online
·Verizon Online DSL
| reply to n2jtx 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. |
|
  n2jtx
join:2001-01-13 Glen Head, NY
·Optimum Online
| reply to NJBlackBerry You definitely need to use your modems 10.x.x.x address when behind a router. Figuring it out though can be a pain. Probably the easiest thing to do is to temporarily remove the router and use DOCSDIAG to dump out all of parameters to a file using -vv. Then search the file for the string .iso.3.6.1.2.1.4.20.1.1 (this is the DOCSIS SNMP ipAdEntAddr value). Right after that string will be four additional numbers, the first being 10, that will be your 10.x.x.x address. -- I support the right to keep and arm bears. |
|
  NJBlackBerry
join:2003-01-03 Bridgewater, NJ | reply to murcury I use the following command from behind a router...
java -cp docsdiag.jar docsdiag -cmip 10.x.x.x -cmmac 00204xxxxx
Use (obviously) the 10.x IP address of your cable modem and the appropriate cable modem MAC address.
|
|
 murcury
join:2002-01-02 Amherst, MA
| reply to murcury [quot]C:\DOCUME~1\MURCURY\DESKTOP\DOCSDIAG>java -cp docsdiag.jar docsdiag -v > results .txt
C:\DOCUME~1\MURCURY\DESKTOP\DOCSDIAG> ::sigh::
quote: DocsDiag v030720 Copyright 2001-3 Robin Walker rdhw@cam.ac.uk
Cable modem not found
whatever...if i have to use it i'll just hook it directly to the modem. thanks anyway. |
|
 TheWiseGuy Dog And Butterfly Premium,MVM join:2002-07-04 Yonkers, NY
| reply to murcury said by murcury : quote: C:\DOCUME~1\MURCURY\DESKTOP\DOCSDIAG>java docsdiag.jar docsdiag -v > results.txt
Exception in thread "main" java.lang.NoClassDefFoundError: docsdiag/jar
said by GeekNJ :java -cp docsdiag.jar docsdiag >results.txt You left out the -cp maybe you should copy and paste it or use the batch file included? I added the out to results in the quote from Geeks post so you can copy and paste. -- Dog and Butterfly |
|
 murcury
join:2002-01-02 Amherst, MA | reply to murcury quote: C:\DOCUME~1\MURCURY\DESKTOP\DOCSDIAG>java docsdiag.jar docsdiag -v > results.txt
Exception in thread "main" java.lang.NoClassDefFoundError: docsdiag/jar
|
|
  GeekNJ Premium join:2000-09-23 Waldwick, NJ
| reply to murcury Looking at the FAQ here at »Optimum Online FAQ »Running DocsDiag to see detailed modem info you should be calling it like:
java -cp docsdiag.jar docsdiag
Not -jar as you posted. |
|
 murcury
join:2002-01-02 Amherst, MA
| I am trying to setup docsdiag from behind my router. I set the ip of the router to 192.168.100.2. I run java -jar docsdiag.jar docsdiag -vv > results.txt and this is the output of the file
Unrecognised parameter docsdiag Usage:
how might i fix this? |
|