Sponsored Content
Full Discussion: DNS circular verify script
Top Forums Shell Programming and Scripting DNS circular verify script Post 302800837 by MadeInGermany on Tuesday 30th of April 2013 03:49:56 PM
Old 04-30-2013
You can change it like this:
Code:
# for safety turn off globbing (wild card matching in current directory)
set -f
...
    MHOST=$(dig -x "$A" +short)      # reverse lookup
    if test -n "$MHOST"; then        # If string has nonzero length then continue

      for HOST in $MHOST; do
            MADDR=$(dig "$HOST" +short)       # Now do forward lookup
            for ADDR in $MADDR; do
...

I also added another loop, for the opposite case: one host has multiple IP addresses.
For safety, variables should be quoted in command arguments.
But the for loop needs an unquoted variable, therefore the set -f at the beginning of the script.
A bit more safe and more elegant are while loops:
Code:
...
    dig -x "$A" +short |               # reverse lookup
    while read HOST; do
          dig "$HOST" +short |         # Now do forward lookup
          while read ADDR; do
...

This User Gave Thanks to MadeInGermany For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Circular reference

I might know the answer to this, but I just want to see if any of you know any work arounds before I go and re-write the whole thing. I have a script as follow: $ cat testing #! /usr/bin/ksh f () { echo "Type \"y\" \c" read value if ; then ... (1 Reply)
Discussion started by: fidodido
1 Replies

2. Shell Programming and Scripting

Script to verify SSH is running

Writing a simple test script that looks for ssh, kills if its running and verifies if its still running. If it isn't, move on. My issue, its cause I don't know how, is to verify if ssh is running still. Also, is there a way have this do this on a remote server? I already have the ssh keys... (7 Replies)
Discussion started by: djinn
7 Replies

3. Shell Programming and Scripting

Help needed with script to verify the version of BIND

I have tried thought of using instfix -ivqc | grep BIND , but this did not return the result I was looking for; it seem to list out the the different patches that had been applied to BIND. I'm actually looking for overall version, like you'd get when checking the OS level for instance. (1 Reply)
Discussion started by: sport
1 Replies

4. UNIX for Dummies Questions & Answers

Verify a flat file with UNIX function or script.

I re-post my question to seek your help and critique. I was required to verify a very large and tab-delimited file, named 'MyFile'. 1. The each line in 'MyFile' has 7 columns, and that the values in the 5th column are integers. I need to use shell functions (and standard LINUX/UNIX filters) to... (1 Reply)
Discussion started by: duke0001
1 Replies

5. Shell Programming and Scripting

script to verify backup is succesfull or not

tail -30 /opt/oracle/rmanbkup/log/db_backup_JONDB.log input datafile fno=00005 name=+ORA_DATA/jondb/datafile/users.264.696728295 input datafile fno=00003 name=+ORA_DATA/jondb/datafile/sysaux.261.696728281 input datafile fno=00001 name=+ORA_DATA/jondb/datafile/system.259.696728257 input datafile... (6 Replies)
Discussion started by: arch12
6 Replies

6. UNIX for Advanced & Expert Users

Verify file was sftp'd via bash script

Hello Experts, I have a script that that transfers a file (via sftp) and it works fine but we ran into a snag where the target server asked for the ssh key and the script didn't know what to do. I want to add some logic to this script that at least sends an email that it didn't complete as... (4 Replies)
Discussion started by: Tiberius777
4 Replies

7. UNIX for Advanced & Expert Users

Script to verify veritas mirror

Hi Experts, I have lot of Solaris servers and in most of them, root disk is mirrored in rootdg. I just want to check all servers, if there is any server whose root disk is not mirrored. Either it may be with detached plexes or not mirrored at all. I can run a for loop for all servers. Can... (4 Replies)
Discussion started by: solaris_1977
4 Replies

8. Shell Programming and Scripting

Perl script to verify that a value is present in an array (list)

I have 2 files , i need compare both files field by field, and in the fourth field some value will be interchaged and some value will be **. ex: file1 john|0.0|4|**:25;JP:50;UY:25 file2 john|0.0|4|JP:50;**:25;UY:25 (4 Replies)
Discussion started by: veeruasu
4 Replies

9. Shell Programming and Scripting

Shell script verify connection to Oracle if not successful

i have a script that connects to the oracle database and executes the query statements. it works fine and i would like to add some message to check if the connection to oracle is not successful. basically this is the code snippet: #!/bin/sh ... ... ... sqlplus -s username/password@dbName... (2 Replies)
Discussion started by: wtolentino
2 Replies

10. UNIX for Beginners Questions & Answers

Script that verify output after make

Hi I write below script to show if expected file exist in /etc/library/ , print success else failed. But it will print full path I just need to print module name in output. And if it possible show time that spent to compile each module. FYI 1: First run another script just go to the paths... (1 Reply)
Discussion started by: indeed_1
1 Replies
HOST(1) 							       BIND9								   HOST(1)

NAME
host - DNS lookup utility SYNOPSIS
host [-aCdlnrsTwv] [-c class] [-N ndots] [-R number] [-t type] [-W wait] [-m flag] [-4] [-6] {name} [server] DESCRIPTION
host is a simple utility for performing DNS lookups. It is normally used to convert names to IP addresses and vice versa. When no arguments or options are given, host prints a short summary of its command line arguments and options. name is the domain name that is to be looked up. It can also be a dotted-decimal IPv4 address or a colon-delimited IPv6 address, in which case host will by default perform a reverse lookup for that address. server is an optional argument which is either the name or IP address of the name server that host should query instead of the server or servers listed in /etc/resolv.conf. The -a (all) option is equivalent to setting the -v option and asking host to make a query of type ANY. When the -C option is used, host will attempt to display the SOA records for zone name from all the listed authoritative name servers for that zone. The list of name servers is defined by the NS records that are found for the zone. The -c option instructs to make a DNS query of class class. This can be used to lookup Hesiod or Chaosnet class resource records. The default class is IN (Internet). Verbose output is generated by host when the -d or -v option is used. The two options are equivalent. They have been provided for backwards compatibility. In previous versions, the -d option switched on debugging traces and -v enabled verbose output. List mode is selected by the -l option. This makes host perform a zone transfer for zone name. Transfer the zone printing out the NS, PTR and address records (A/AAAA). If combined with -a all records will be printed. The -i option specifies that reverse lookups of IPv6 addresses should use the IP6.INT domain as defined in RFC1886. The default is to use IP6.ARPA. The -N option sets the number of dots that have to be in name for it to be considered absolute. The default value is that defined using the ndots statement in /etc/resolv.conf, or 1 if no ndots statement is present. Names with fewer dots are interpreted as relative names and will be searched for in the domains listed in the search or domain directive in /etc/resolv.conf. The number of UDP retries for a lookup can be changed with the -R option. number indicates how many times host will repeat a query that does not get answered. The default number of retries is 1. If number is negative or zero, the number of retries will default to 1. Non-recursive queries can be made via the -r option. Setting this option clears the RD -- recursion desired -- bit in the query which host makes. This should mean that the name server receiving the query will not attempt to resolve name. The -r option enables host to mimic the behavior of a name server by making non-recursive queries and expecting to receive answers to those queries that are usually referrals to other name servers. By default, host uses UDP when making queries. The -T option makes it use a TCP connection when querying the name server. TCP will be automatically selected for queries that require it, such as zone transfer (AXFR) requests. The -4 option forces host to only use IPv4 query transport. The -6 option forces host to only use IPv6 query transport. The -t option is used to select the query type. type can be any recognized query type: CNAME, NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified, host automatically selects an appropriate query type. By default, it looks for A, AAAA, and MX records, but if the -C option was given, queries will be made for SOA records, and if name is a dotted-decimal IPv4 address or colon-delimited IPv6 address, host will query for PTR records. If a query type of IXFR is chosen the starting serial number can be specified by appending an equal followed by the starting serial number (e.g. -t IXFR=12345678). The time to wait for a reply can be controlled through the -W and -w options. The -W option makes host wait for wait seconds. If wait is less than one, the wait interval is set to one second. When the -w option is used, host will effectively wait forever for a reply. The time to wait for a response will be set to the number of seconds given by the hardware's maximum value for an integer quantity. The -s option tells host not to send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior. The -m can be used to set the memory usage debugging flags record, usage and trace. IDN SUPPORT
If host has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. host appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server. If you'd like to turn off the IDN support for some reason, defines the IDN_DISABLE environment variable. The IDN support is disabled if the variable is set when host runs. FILES
/etc/resolv.conf SEE ALSO
dig(1), named(8). COPYRIGHT
Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC") Copyright (C) 2000-2002 Internet Software Consortium. BIND9 Jun 30, 2000 HOST(1)
All times are GMT -4. The time now is 06:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy