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 [-aCdlnrsTUwv] [-c class] [-N ndots] [-R number] [-t type] [-W wait] [-m flag] [[-4] | [-6]] [-v] [-V] {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. OPTIONS
-4 Use IPv4 only for query transport. See also the -6 option. -6 Use IPv6 only for query transport. See also the -4 option. -a "All". The -a option is normally equivalent to -v -t ANY. It also affects the behaviour of the -l list zone option. -c class Query class: This can be used to lookup HS (Hesiod) or CH (Chaosnet) class resource records. The default class is IN (Internet). -C Check consistency: host will query 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. -d Print debugging traces. Equivalent to the -v verbose option. -i Obsolete. Use the IP6.INT domain for reverse lookups of IPv6 addresses as defined in RFC1886 and deprecated in RFC4159. The default is to use IP6.ARPA as specified in RFC3596. -l List zone: The host command performs a zone transfer of zone name and prints out the NS, PTR and address records (A/AAAA). Together, the -l -a options print all records in the zone. -N ndots 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. -r Non-recursive query: Setting this option clears the RD (recursion desired) bit in the query. 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 can be referrals to other name servers. -R number Number of retries for UDP queries: If number is negative or zero, the number of retries will default to 1. The default value is 1, or the value of the attempts option in /etc/resolv.conf, if set. -s Do not send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior. -t type Query type: The type argument can be any recognized query type: CNAME, NS, SOA, TXT, DNSKEY, 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. If the -C option is given, queries will be made for SOA records. 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 (like -t IXFR=12345678). -T, -U TCP/UDP: 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. Type ANY queries default to TCP but can be forced to UDP initially using -U. -m flag Memory usage debugging: the flag can be record, usage, or trace. You can specify the -m option more than once to set multiple flags. -v Verbose output. Equivalent to the -d debug option. Verbose output can also be enabled by setting the debug option in /etc/resolv.conf. -V Print the version number and exit. -w Wait forever: The query timeout is set to the maximum possible. See also the -W option. -W wait Timeout: Wait for up to wait seconds for a reply. If wait is less than one, the wait interval is set to one second. By default, host will wait for 5 seconds for UDP responses and 10 seconds for TCP connections. These defaults can be overridden by the timeout option in /etc/resolv.conf. See also the -w option. 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). AUTHOR
Internet Systems Consortium, Inc. COPYRIGHT
Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC") ISC
2009-01-20 HOST(1)
All times are GMT -4. The time now is 04:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy