四个 Linux 上的网络信息嗅探工具 | Linux 中国

四个 Linux 上的网络信息嗅探工具 | Linux 中国
在计算机网络中,数据是暴露的,因为数据包传输是无法隐藏的-- Carla Schroder

有用的原文链接请访问文末的“

原文链接

”获得可点击的文内链接、全尺寸原图和相关文章。致谢

编译自 | http://www.linux.com/learn/intro-to-linux/2018/1/4-tools-network-snooping-linux

 

 作者 | Carla Schroder



 译者 | wyxplus ?? ?? 共计翻译:

5

 篇 贡献时间:111 天

在计算机网络中,数据是暴露的,因为数据包传输是无法隐藏的,所以让我们来使用 whois、dig、nmcli 和 nmap 这四个工具来嗅探网络吧。

请注意,不要在不属于自己的网络上运行 nmap ,因为这有可能会被其他人认为恶意攻击。

精简和详细域名信息查询

您可能已经注意到,之前我们用常用的老式 whois 命令查询域名信息,但现如今似乎没有提供同过去一样的详细程度。我们使用该命令查询 linux.com 的域名描述信息:

  • $ whois linux

    .

    com

  • Domain

    Name

    :

    LINUX

    .

    COM

  • Registry

    Domain

    ID

    :

    4245540

    _DOMAIN_COM

    -

    VRSN

  • Registrar

    WHOIS

    Server

    :

    whois

    .

    namecheap

    .

    com

  • Registrar

    URL

    :

    http

    :

    //www.namecheap.com

  • Updated

    Date

    :

    2018

    -

    01

    -

    10T12

    :

    26

    :

    50Z

  • Creation

    Date

    :

    1994

    -

    06

    -

    02T04

    :

    00

    :

    00Z

  • Registry

    Expiry

    Date

    :

    2018

    -

    06

    -

    01T04

    :

    00

    :

    00Z

  • Registrar

    :

    NameCheap

    Inc

    .

  • Registrar

    IANA ID

    :

    1068

  • Registrar

    Abuse

    Contact

    Email

    :

    abuse@namecheap

    .

    com

  • Registrar

    Abuse

    Contact

    Phone

    :

    +

    1.6613102107

  • Domain

    Status

    :

    ok https

    :

    //icann.org/epp#ok

  • Name

    Server

    :

    NS5

    .

    DNSMADEEASY

    .

    COM

  • Name

    Server

    :

    NS6

    .

    DNSMADEEASY

    .

    COM

  • Name

    Server

    :

    NS7

    .

    DNSMADEEASY

    .

    COM

  • DNSSEC

    :

    unsigned

  • [...]

  • 有很多令人讨厌的法律声明。但在哪有联系信息呢?该网站位于 whois.namecheap.com 站点上(见上面输出的第三行):

  • $ whois

    -

    h whois

    .

    namecheap

    .

    com linux

    .

    com

  • 我就不复制出来了,因为这实在太长了,包含了注册人,管理员和技术人员的联系信息。怎么回事啊,露西尔?(LCTT 译注:《行尸走肉》中尼根的棒子)有一些注册库,比如 .com 和 .net 是精简注册库,保存了一部分有限的域名信息。为了获取完整信息请使用 -h 或 --host 参数,该参数便会从域名的 注册服务机构 中获取。

    大部分顶级域名是有详细的注册信息,如 .info。试着使用 whois blockchain.info 命令来查看。

    想要摆脱这些烦人的法律声明?使用 -H 参数。

    DNS 解析

    使用 dig 命令比较从不同的域名服务器返回的查询结果,去除陈旧的信息。域名服务器记录缓存各地的解析信息,并且不同的域名服务器有不同的刷新间隔。以下是一个简单的用法:

  • $ dig linux

    .

    com

  • <<>>

    DiG

    9.10

    .

    3

    -

    P4

    -

    Ubuntu

    <<>>

    linux

    .

    com

  • ;;

    global

    options

    :

    +

    cmd

  • ;;

    Got

    answer

    :

  • ;;

    ->>

    HEADER

    <<<-

    opcode

    :

    QUERY

    ,

    status

    :

    NOERROR

    ,

    id

    :

    13694

  • ;;

    flags

    :

    qr rd ra

    ;

    QUERY

    :

    1

    ,

    ANSWER

    :

    4

    ,

    AUTHORITY

    :

    0

    ,

    ADDITIONAL

    :

    1

  • ;;

    OPT PSEUDOSECTION

    :

  • ;

    EDNS

    :

    version

    :

    0

    ,

    flags

    :;

    udp

    :

    1440

  • ;;

    QUESTION SECTION

    :

  • ;

    linux

    .

    com

    .

    IN A

  • ;;

    ANSWER SECTION

    :

  • linux

    .

    com

    .

    10800

    IN A

    151.101

    .

    129.5

  • linux

    .

    com

    .

    10800

    IN A

    151.101

    .

    65.5

  • linux

    .

    com

    .

    10800

    IN A

    151.101

    .

    1.5

  • linux

    .

    com

    .

    10800

    IN A

    151.101

    .

    193.5

  • ;;

    Query

    time

    :

    92

    msec

  • ;;

    SERVER

    :

    127.0

    .

    1.1

    #

    53

    (

    127.0

    .

    1.1

    )

  • ;;

    WHEN

    :

    Tue

    Jan

    16

    15

    :

    17

    :

    04

    PST

    2018

  • ;;

    MSG SIZE rcvd

    :

    102

  • 注意下靠近末尾的这行信息:SERVER: 127.0.1.1#53(127.0.1.1),这是您默认的缓存解析器。当地址是本地时,就表明您的电脑上安装了 DNS 服务。在我看来这就是一个 Dnsmasq 工具(LCTT 译注:是一个小巧且方便地用于配置 DNS 和 DHCP 的工具),该工具被用作网络管理:

  • $

    ps

    ax

    |

    grep

    dnsmasq

  • 2842

    ?

    S

    0

    :

    00

    /

    usr

    /

    sbin

    /

    dnsmasq

    --

    no

    -

    resolv

    --

    keep

    -

    in

    -

    foreground

  • --

    no

    -

    hosts

    --

    bind

    -

    interfaces

    --

    pid

    -

    file

    =

    /var/

    run

    /

    NetworkManager

    /

    dnsmasq

    .

    pid

  • --

    listen

    -

    address

    =

    127.0

    .

    1.1

  • dig 命令默认是返回 A 记录,也就是域名。IPv6 则有 AAAA 记录:

  • $ $ dig linux

    .

    com AAAA

  • [...]

  • ;;

    ANSWER SECTION

    :

  • linux

    .

    com

    .

    60

    IN AAAA

    64

    :

    ff9b

    ::

    9765

    :

    105

  • linux

    .

    com

    .

    60

    IN AAAA

    64

    :

    ff9b

    ::

    9765

    :

    4105

  • linux

    .

    com

    .

    60

    IN AAAA

    64

    :

    ff9b

    ::

    9765

    :

    8105

  • linux

    .

    com

    .

    60

    IN AAAA

    64

    :

    ff9b

    ::

    9765

    :

    c105

  • [...]

  • 仔细检查下,发现 linux.com 有 IPv6 地址。很好!如果您的网络服务支持 IPv6 那么您就可以用 IPv6 连接。(令人难过的是,我的移动宽带则没提供 IPv6)

    假设您能对您的域名做一些 DNS 改变,又或是您使用 dig 查询的结果有误。试着用一个公共 DNS,如 OpenNIC:

  • $ dig

    @

    69.195

    .

    152.204

    linux

    .

    com

  • [...]

  • ;;

    Query

    time

    :

    231

    msec

  • ;;

    SERVER

    :

    69.195

    .

    152.204

    #

    53

    (

    69.195

    .

    152.204

    )

  • dig 回应您正在的查询是来自 69.195.152.204。您可以查询各种服务并且比较结果。

    上游域名服务器

    我想知道我的上游域名服务器(LCTT 译注:此处指解析器)是谁。为了查询,我首先看下 /etc/resolv/conf 的配置信息:

  • $

    cat

    /

    etc

    /

    resolv

    .

    conf

  • #

    Dynamic

    resolv

    .

    conf

    (

    5

    )

    file

    for

    glibc resolver

    (

    3

    )

    generated by resolvconf

    (

    8

    )

  • #

    DO NOT EDIT THIS FILE BY HAND

    --

    YOUR CHANGES WILL BE OVERWRITTEN

  • nameserver

    127.0

    .

    1.1

  • 好吧,不过我已经知道了。您的 Linux 发行版可能配置不同,您会看到您的上游服务器。接下来我们来试试网络管理器命令行工具 nmcli:

  • $ nmcli dev show

    |

    grep

    DNS

  • IP4

    .

    DNS

    [

    1

    ]:

    192.168

    .

    1.1

  • 很好,现在我们已经知道了,其实那是我的移动热点,我能确认。我能够登录到简易管理面板,来查询上游服务器。然而许多用户级互联网网关不会让您看到或改变这些设置,因此只能尝试其他的方法,如 

    我的域名服务器是什么?

    [1]

    查找在您的网络中 IPv4 地址

    您的网络上有哪些 IPv4 地址已启用并正在使用中?

  • $

    nmap

    -

    sn

    192.168

    .

    1.0

    /

    24

  • Starting

    Nmap

    7.01

    (

    https

    :

    //nmap.org ) at 2018-01-14 14:03 PST

  • Nmap

    scan report

    for

    Mobile

    .

    Hotspot

    (

    192.168

    .

    1.1

    )

  • Host

    is

    up

    (

    0.011s

    latency

    ).

  • Nmap

    scan report

    for

    studio

    (

    192.168

    .

    1.2

    )

  • Host

    is

    up

    (

    0.000071s

    latency

    ).

  • Nmap

    scan report

    for

    nellybly

    (

    192.168

    .

    1.3

    )

  • Host

    is

    up

    (

    0.015s

    latency

    )

  • Nmap

    done

    :

    256

    IP addresses

    (

    2

    hosts up

    )

    scanned

    in

    2.23

    seconds

  • 每个人都想去扫描自己的局域网中开放的端口。下面的例子是寻找服务和他们的版本号:

  • $

    nmap

    -

    sV

    192.168

    .

    1.1

    /

    24

  • Starting

    Nmap

    7.01

    (

    https

    :

    //nmap.org ) at 2018-01-14 16:46 PST

  • Nmap

    scan report

    for

    Mobile

    .

    Hotspot

    (

    192.168

    .

    1.1

    )

  • Host

    is

    up

    (

    0.0071s

    latency

    ).

  • Not

    shown

    :

    997

    closed ports

  • PORT STATE SERVICE VERSION

  • 22

    /

    tcp filtered

    ssh

  • 53

    /

    tcp open domain dnsmasq

    2.55

  • 80

    /

    tcp open http

    GoAhead

    WebServer

    2.5

    .

    0

  • Nmap

    scan report

    for

    studio

    (

    192.168

    .

    1.102

    )

  • Host

    is

    up

    (

    0.000087s

    latency

    ).

  • Not

    shown

    :

    998

    closed ports

  • PORT STATE SERVICE VERSION

  • 22

    /

    tcp open

    ssh

    OpenSSH

    7.2p2

    Ubuntu

    4ubuntu2.2

    (

    Ubuntu

    Linux

    ;

    protocol

    2.0

    )

  • 631

    /

    tcp open ipp CUPS

    2.1

  • Service

    Info

    :

    OS

    :

    Linux

    ;

    CPE

    :

    cpe

    :/

    o

    :

    linux

    :

    linux_kernel

  • Service

    detection performed

    .

    Please

    report any incorrect results at https

    :

    //nmap.org/submit/ .

  • Nmap

    done

    :

    256

    IP addresses

    (

    2

    hosts up

    )

    scanned

    in

    11.65

    seconds

  • 这些是有趣的结果。让我们尝试从不同的互联网连接进行相同的操作,以查看这些服务是否暴露于互联网中。如果您有智能手机,相当于您有第二个网络。您可以下载应用程序,还可以为您的 Linux 电脑提供热点。从热点控制面板获取广域网IP地址,然后重试:

  • $

    nmap

    -

    sV

    12.34

    .

    56.78

  • Starting

    Nmap

    7.01

    (

    https

    :

    //nmap.org ) at 2018-01-14 17:05 PST

  • Nmap

    scan report

    for

    12.34

    .

    56.78

  • Host

    is

    up

    (

    0.0061s

    latency

    ).

  • All

    1000

    scanned ports on

    12.34

    .

    56.78

    are closed

  • 果然不出所料,结果和我想象的一样(LCTT 译注:这些服务和信息没有被暴露在公网上)。可以用手册来查询这些命令,以便了解更多有趣的嗅探技术。

    了解更多 Linux 的相关知识可以从 Linux 基金会和 edX(LCTT译注:edX 是麻省理工和哈佛大学于 2012 年 4 月联手创建的大规模开放在线课堂平台)中获取免费的 

    “介绍 Linux”

    [2]

    课程。

    via: 

    http://www.linux.com/learn/intro-to-linux/2018/1/4-tools-network-snooping-linux

    作者:

    Carla Schroder

    [4]

     译者:

    wyxplus

     校对:

    wxy

    本文由 

    LCTT

     原创编译,

    Linux中国

     荣誉推出