|
Scott,
I would be interested in the API and sample code, especially since Rob has found that DIG does not work 100%.
Paul
-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Scott Klement
Sent: Monday, May 18, 2015 5:35 PM
To: Midrange Systems Technical Discussion
Subject: Re: Input IPv4 address - return DNS name
IBM i has "resolver" routines built-in that do this sort of thing. If
all you need is IPv4, you could call the gethostbyaddr() API. There
are newer/better routines available that support IPv6 (though, I must
admit, it'd take a bit of research for me to find this.)
I wonder if it'd make sense for you to use these routines instead of calling the DIG program? Nothing wrong with using DIG, I guess... but calling the APIs directly would be faster, no need to output to a file
and read a file, it'd return the result directly. But, it does involve
some pointer work...
Want a code sample? (If so, is RPG alright, or does it need to be
CL?)
-SK
On 5/18/2015 3:36 PM, Steinmetz, Paul wrote:
I've created a utility that inputs an IPv4 address and returns the DNS name.--
It uses the DIG command with the out file option.
Does anything exist that does something similar?
I'm planning on using this as part of a larger project to create and
populate a log file of all external communications, (FTP, SSL, SSH,
etc)
0008.00 PGM PARM(&IPV4 &DNSNAM)
0009.00
0010.00 /* VARIABLE DECLARATIONS */
0011.00
0012.00 DCL VAR(&IPV4) TYPE(*CHAR) LEN(30)
0013.00 DCL VAR(&DNSNAM) TYPE(*CHAR) LEN(256 )
0014.00
0015.00 RMVLNK OBJLNK('/DIGOUT')
0016.00
0017.00 DIG HOSTNAME(&IPV4) REVERSE(*YES) +
0018.00 IPVSN(*IPV4ONLY) SHORT(*YES) +
0019.00 IDENTIFY(*YES) TOSTMF(DIGOUT)
0020.00
0021.00 CPYFRMIMPF FROMSTMF('/DIGOUT') TOFILE(QGPL/DIGOUT) +
0022.00 MBROPT(*REPLACE) RCDDLM(*LF) +
0023.00 RPLNULLVAL(*FLDDFT)
0024.00
0025.00 CALL PGM(DIGCONV) PARM(&DNSNAM) /* Search DIG +
0026.00 outfile, find and return DNS name */
0027.00
0028.00 DMPCLPGM
0029.00
0030.00 END: ENDPGM
0001.00 H DEBUG
0009.00 **************************************************************************
0010.00 Fdigout ipe f 3965 disk
0011.00 **************************************************************************
0012.00 dsearchfor s 12
0013.00
*********************************************************************
*
****
0014.00 * Input Parameters
0015.00 idigout AA 01
0016.00
0017.00 * Record type
0018.00
0019.00 i 1 3965 irec
0020.00 **************************************************************************
0021.00 C *entry plist
0022.00 C parm dnsfnd 256
0023.00
0024.00 c eval searchfor = 'from server '
0025.00 c exsr search
0026.00 **************************************************************************
0027.00 C search begsr
0028.00
*********************************************************************
*
****
0029.00 /free
0030.00 pos = %scan(searchfor: irec :1);
0031.00 if pos <> 0;
0032.00 dnsfnd = %Subst(irec:1 :pos-3);
0033.00 endif;
0034.00 /end-free
0035.00 c endsr
Thank You
_____
Paul Steinmetz
IBM i Systems Administrator
Pencor Services, Inc.
462 Delaware Ave
Palmerton Pa 18071
610-826-9117 work
610-826-9188 fax
610-349-0913 cell
610-377-6012 home
psteinmetz@xxxxxxxxxx
http://www.pencor.com/
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.