复习一下DNS---顺便玩玩nslookup www.baidu.com命令

本文介绍了DNS的基本概念,包括域名、DNS服务器及IP地址的作用,并详细解析了DNS的工作流程。通过实际操作演示了如何在Windows系统中使用ipconfig命令查看DNS服务器信息,以及如何利用nslookup和ping命令进行域名解析和连通性测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      与其说复习, 还不如说学习。 大学学的那点计算机网络知识, 早就还给老师了。 不过还得感谢该老师, 没有让我挂科,在此感谢一下。当然,把计算机网络教成一门靠背诵过关的课, 我也是醉了。

 

      先来简要谈一下几个基本的概念。
      域名: 不说复杂的, 说简单点, 你可以把它理解为一个串。

      DNS服务器: 说白了, 就是一台电脑。

      IP: IP就是IP, 不解释。

      

      下面, 我们来看一下逻辑关系: 假设某设备(充当DNS客户端)需要解析域名a.b.c.d, 于是就可以向DNS服务器发起请求, 然后然后DNS服务器将解析的结果w.x.y.z返回给客户端。

        由于比较常见, 所以还是复习了一下, 至于为什么需要DNS,   你只要想想你经常使用的www.baidu.com就可以了, 这个可比ip方便记忆多了。 最后, 我们来看看, 在Windows上如何查询DNS server, 如下:

C:\Documents and Settings\Administrator>ipconfig /all


Windows IP Configuration


        Host Name . . . . . . . . . . . . : 51B6904C3C8A485
        Primary Dns Suffix  . . . . . . . :
        Node Type . . . . . . . . . . . . : Mixed
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No


Ethernet adapter 无线网络连接:


        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : Dell Wireless 1395 WLAN Mini-Card
        Physical Address. . . . . . . . . : XX-XX-XX-XX-XX-XX
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        IP Address. . . . . . . . . . . . : 192.168.1.101
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1
        DHCP Server . . . . . . . . . . . : 192.168.1.1
        DNS Servers . . . . . . . . . . . : 192.168.1.1
        Lease Obtained. . . . . . . . . . : 星期一 2015年1月26日 22:14:32
        Lease Expires . . . . . . . . . . : 星期二 2015年1月27日 0:14:32

 

        当然, 你也可以用C语言编程来获取这些信息。

 

        最后, 我来介绍一下nslookup命令, 这个命令专门用来查阅域名对应的ip, 如:

C:\Documents and Settings\Administrator>nslookup www.baidu.com
Server:  dnspai-public-dns.dnspai.com
Address:  101.226.4.6


Non-authoritative answer:
Name:    www.a.shifen.com
Addresses:  180.97.33.107, 180.97.33.108
Aliases:  www.baidu.com




C:\Documents and Settings\Administrator>ping www.baidu.com


Pinging www.a.shifen.com [180.97.33.108] with 32 bytes of data:


Reply from 180.97.33.108: bytes=32 time=35ms TTL=52
Reply from 180.97.33.108: bytes=32 time=29ms TTL=53
Reply from 180.97.33.108: bytes=32 time=37ms TTL=52
Reply from 180.97.33.108: bytes=32 time=30ms TTL=53


Ping statistics for 180.97.33.108:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 29ms, Maximum = 37ms, Average = 32ms

 

      如果启用wireshark抓包, 则dns请求和响应的结果为:

      如果展开第一个包, 我们看到, dns服务器对应的端口是53

 

### 安装 `nslookup` 命令 在 CentOS 系统中,`nslookup` 是由 bind-utils 软件包提供的一项功能。如果系统提示 `-bash: nslookup: 未找到命令`,则表明该软件包尚未安装。 #### 1. 使用 YUM 安装 `bind-utils` 执行以下命令以安装包含 `nslookup` 工具的 `bind-utils` 软件包: ```bash yum install -y bind-utils ``` 完成安装后即可正常使用 `nslookup` 命令[^1]。 #### 2. 验证安装是否成功 安装完成后,可以通过以下方式验证 `nslookup` 是否可用: ```bash nslookup google.com ``` 如果返回类似于以下的结果,则表示安装成功: ```plaintext Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: google.com Address: 142.250.72.100 ``` #### 3. 检查 PATH 环境变量 即使已安装 `bind-utils`,但如果路径未正确添加到系统的环境变量中,仍可能出现 “未找到命令” 的情况。可以检查 `PATH` 变量是否包含 `/usr/bin`(通常默认存在)。运行以下命令查看当前的 `PATH` 设置: ```bash echo $PATH ``` 如果没有发现 `/usr/bin`,需手动将其加入环境变量: ```bash export PATH=$PATH:/usr/bin ``` 为了使更改永久生效,可将上述命令追加至用户的 shell 配置文件(如 `.bashrc` 或 `.bash_profile`)中: ```bash echo 'export PATH=$PATH:/usr/bin' >> ~/.bashrc source ~/.bashrc ``` #### 4. 替代方案:使用 `dig` 命令 除了 `nslookup` 外,还可以考虑使用更强大的 DNS 查询工具——`dig`。它同样来自 `bind-utils` 包,因此只需按照前述方法安装此包即可使用 `dig` 进行域名解析测试。例如: ```bash dig google.com ``` --- ### 示例代码 以下是自动化安装和验证流程的一个简单脚本: ```bash #!/bin/bash # Step 1: Install bind-utils package echo "Installing bind-utils..." yum install -y bind-utils # Step 2: Verify installation and test nslookup functionality if command -v nslookup &>/dev/null; then echo "nslookup installed successfully!" nslookup_result=$(nslookup google.com 2>&1) if [[ $? -eq 0 ]]; then echo "$nslookup_result" else echo "Error during nslookup execution:" echo "$nslookup_result" fi else echo "Failed to install or locate nslookup." fi ``` --- ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值