ฉันจะแก้ไขชื่อโฮสต์เป็นที่อยู่ IP ในสคริปต์ทุบตีได้อย่างไร

How Can I Resolve Hostname An Ip Address Bash Script



ทุกระบบในเครือข่าย TCP/IP ถูกกำหนดตัวระบุเฉพาะที่เรียกว่าที่อยู่ IP ซึ่งช่วยในการเชื่อมต่อกับระบบอื่น ๆ ของเครือข่ายและทั่วทั้งอินเทอร์เน็ต เว็บไซต์ทั้งหมดที่คุณเข้าถึงบนอินเทอร์เน็ตยังมีที่อยู่ IP ที่ไม่ซ้ำกันอีกด้วย เนื่องจากเป็นเรื่องยากสำหรับทุกคนที่จะจำที่อยู่ IP ของเว็บไซต์เหล่านี้ ระบบ DNS จึงมาซึ่งช่วยแปลที่อยู่ IP ที่ยากต่อการจดจำเหล่านี้เป็นชื่อที่มนุษย์สามารถอ่านได้ ด้วย DNS คุณจะไม่ต้องจำที่อยู่ IP อีกต่อไป คุณต้องจำชื่อโดเมนและทำทั้งหมดแทน ที่จริงแล้วเซิร์ฟเวอร์ DNS สำรองใช้ชื่อโฮสต์และแก้ไขเป็นที่อยู่ IP ที่เบราว์เซอร์หรือแอปพลิเคชันเชื่อมต่อ

ในบทความนี้ เราจะอธิบายวิธีแก้ไขชื่อโฮสต์/ชื่อโดเมนเป็นที่อยู่ IPv4 และ IPv6 ในสคริปต์ทุบตี อย่างไรก็ตาม ก่อนดำเนินการสร้างสคริปต์ ให้เราตรวจสอบคำสั่งบางอย่างที่สามารถใช้เพื่อแก้ไขชื่อโฮสต์/ชื่อโดเมนเป็นที่อยู่ IP







ปิง

Ping เป็นเครื่องมือที่ใช้งานง่ายที่สุดและมีอยู่ในระบบปฏิบัติการเกือบทั้งหมด ใช้เพื่อตรวจสอบความสามารถในการเข้าถึงของโฮสต์ในเครือข่าย อย่างไรก็ตาม เรายังสามารถใช้เพื่อค้นหาที่อยู่ IP กับชื่อโฮสต์/ชื่อโดเมนใดก็ได้ ใช้ไวยากรณ์ต่อไปนี้เพื่อค้นหาที่อยู่ IP ของชื่อโฮสต์/ชื่อโดเมนที่เป็นเป้าหมาย:



$ปิงเป้าหมายโฮสต์



Nslookup

Nslookup ใช้กันอย่างแพร่หลายในการแก้ไขชื่อโฮสต์เป็นที่อยู่ IP ในการใช้คำสั่งนี้สำหรับการค้นหา IP ให้ใช้ไวยากรณ์ต่อไปนี้:





$nslookup target-host

เจ้าภาพ

คุณสามารถใช้โฮสต์ยูทิลิตีบรรทัดคำสั่งอื่นเพื่อค้นหาที่อยู่ IP กับชื่อโฮสต์/ชื่อโดเมนใดก็ได้ ในการใช้คำสั่งนี้ ให้ใช้ไวยากรณ์ต่อไปนี้:



$host target-host

คุณ

Dig เป็นเครื่องมือบรรทัดคำสั่งที่มีประโยชน์อีกตัวหนึ่งที่ใช้ในการสืบค้นระเบียนที่เกี่ยวข้องกับ DNS ต่างๆ สามารถใช้เพื่อค้นหาที่อยู่ IP กับชื่อโฮสต์/ชื่อโดเมนใดๆ ใช้คำสั่ง Dig ด้วยวิธีต่อไปนี้เพื่อค้นหาที่อยู่ IP เทียบกับชื่อโฮสต์/ชื่อโดเมนเฉพาะ

$คุณtarget-host +short

สคริปต์ทุบตีเพื่อแก้ไขชื่อโฮสต์เป็นที่อยู่ IP

ในการใช้สคริปต์ทุบตีสำหรับการค้นหา IP ให้ทำตามขั้นตอนด้านล่าง:

  1. สร้างไฟล์ทุบตีโดยใช้โปรแกรมแก้ไขข้อความ ที่นี่ฉันจะใช้ตัวแก้ไขนาโนเพื่อสร้างสคริปต์ชื่อ iplookup.sh .$sudo นาโนscript.sh
  1. คัดลอกและวางบรรทัดต่อไปนี้ในไฟล์สคริปต์ของคุณ โปรดทราบว่าในสคริปต์นี้ ฉันกำลังระบุเซิร์ฟเวอร์ DNS สาธารณะของ Google สำหรับการค้นหา IP คุณสามารถระบุเซิร์ฟเวอร์ DNS อื่น ๆ ตามสภาพแวดล้อมของคุณ# ระบุเซิร์ฟเวอร์ DNS
    dnsserver='8.8.8.8'
    # ฟังก์ชั่นเพื่อรับที่อยู่ IP
    การทำงานget_ipadr{
    ที่อยู่ IP=''
    # บันทึก A และ AAA สำหรับ IPv4 และ IPv6 ตามลำดับ
    # $1 ย่อมาจากอาร์กิวเมนต์แรก
    ถ้า [ -NS '$ 1' ];แล้ว
    ชื่อโฮสต์='$ {1}'
    ถ้า [ -กับ 'query_type' ];แล้ว
    query_type='ถึง'
    เป็น
    # ใช้คำสั่งโฮสต์สำหรับการดำเนินการค้นหา DNS
    เจ้าภาพ-NS ${query_type} ${ชื่อโฮสต์} &> /dev/โมฆะ$ {dnsserver}
    ถ้า [ '$?' -eq '0' ];แล้ว
    #รับไอพีไอพี
    ที่อยู่ IP='$(host -t ${query_type} ${hostname} ${dnsserver}| awk '/has.*address/{print $NF; exit}')'
    อื่น
    ทางออก 1
    เป็น
    อื่น
    ทางออก 2
    เป็น
    #แสดงip
    โยนออก $ip_address
    }
    ชื่อโฮสต์='$ {1}'
    สำหรับแบบสอบถามใน 'A-IPv4' 'AAAA-IPv6';ทำ
    query_type='$(printf $query | cut -d- -f 1)'
    ipversion='$(printf $query | cut -d- -f 2)'
    ที่อยู่='$(get_ipadr ${ชื่อโฮสต์})'
    ถ้า [ '$?' -eq '0' ];แล้ว
    ถ้า [ -NS '${ที่อยู่}' ];แล้ว
    โยนออก 'NS${ipversion}ที่อยู่ของชื่อโฮสต์${ชื่อโฮสต์}เป็น:$ที่อยู่'
    เป็น
    อื่น
    โยนออก 'เกิดข้อผิดพลาด'
    เป็น
    เสร็จแล้ว
  2. เมื่อเสร็จแล้ว ให้ใช้ Ctrl+O และ Ctrl+X เพื่อบันทึกและออกจากไฟล์ตามลำดับ
  3. ตอนนี้เพื่อค้นหาที่อยู่ IP เทียบกับชื่อโฮสต์/ชื่อโดเมนเป้าหมาย ให้เรียกใช้สคริปต์โดยใช้ไวยากรณ์ต่อไปนี้:$./script.sh target-host

    ตัวอย่างเช่น ในการแก้ไขที่อยู่ IP ของ google.com คำสั่งจะเป็นดังนี้:

    $./iplookup.sh google.com

    ผลลัพธ์จะคล้ายกับสิ่งนี้:

    ในทำนองเดียวกัน ในการแก้ไขที่อยู่ IP ของ yahoo.com คำสั่งจะเป็น:

    $./iplookup.sh yahoo.com

    ผลลัพธ์จะคล้ายกับสิ่งนี้:

    นั่นคือทั้งหมดที่มีให้! ในบทความนี้ เราได้เรียนรู้วิธีแก้ไขชื่อโฮสต์เป็นที่อยู่ IPv4 และ IPv6 โดยใช้สคริปต์ทุบตี นอกจากนี้เรายังได้เรียนรู้เครื่องมือบรรทัดคำสั่งอื่นๆ เช่น Ping, Nslookup, Host และ Dig ที่สามารถใช้ในการค้นหา IP ได้