From owner-freebsd-questions@FreeBSD.ORG Wed Sep 3 15:54:36 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6459916A4BF for ; Wed, 3 Sep 2003 15:54:36 -0700 (PDT) Received: from tomts12-srv.bellnexxia.net (tomts12.bellnexxia.net [209.226.175.56]) by mx1.FreeBSD.org (Postfix) with ESMTP id 450A843FE3 for ; Wed, 3 Sep 2003 15:54:35 -0700 (PDT) (envelope-from matt@compar.com) Received: from hermes ([65.95.185.143]) by tomts12-srv.bellnexxia.net (InterMail vM.5.01.06.04 201-253-122-130-104-20030726) with SMTP id <20030903225433.KQUT11393.tomts12-srv.bellnexxia.net@hermes>; Wed, 3 Sep 2003 18:54:33 -0400 Message-ID: <005401c3726e$0db28c40$1200a8c0@gsicomp.on.ca> From: "Matthew Emmerton" To: "Drew Tomlinson" , "FreeBSD Questions" References: <019101c37248$ffd50c30$6e2a6ba5@lc.ca.gov> <001401c3724a$ba4dc0b0$1200a8c0@gsicomp.on.ca> <01e101c37265$f0b9aef0$6e2a6ba5@lc.ca.gov> Date: Wed, 3 Sep 2003 18:52:29 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Subject: Re: How to Get Public IP From LinkSys Router? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Sep 2003 22:54:36 -0000 > > > I need to get my public IP address from a LinkSys cable router and > don't > > > have any idea where to start. The LinkSys is doing NAT and my FBSD > box > > > in on the private network on the inside. What commands and/or ports > are > > > there that would provide the public IP address from the command line > so > > > I pass the IP to a script? Any ideas? > > > > The way I do it with my router (BEFW11S4 V2) is to use lynx to > download the > > HTML status page from the router and extract the public IP address. I > do > > this in a cron job every 15 minutes, and when it notices an IP change, > it > > fires off my dynamic DNS updates. > > This seems like the best way. Would you be willing to share your script > that grabs the status page and extracts the IP? I'm not very good with > regular expressions yet and would appreciate the kick start. The sequence of commands I used is quite dependent on the format of the page (which has changed in the past after firmware upgrades). /usr/local/bin/lynx -dump -auth=username:password http://routerip/Status.htm | /usr/bin/grep "IP Address" | /usr/bin/tail -1 | /usr/bin/awk ' { print $3 } ' -- Matt Emmerton