Linux系统管理工具包 网络扫描.doc_第1页
Linux系统管理工具包 网络扫描.doc_第2页
Linux系统管理工具包 网络扫描.doc_第3页
Linux系统管理工具包 网络扫描.doc_第4页
Linux系统管理工具包 网络扫描.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux系统管理工具包: 网络扫描本书网络下载内容丰富,分享给大家学习。了解如何扫描网络中的服务,以及如何定期地对服务进行监视,以维持最长的正常运行时间。确保网络安全的一种重要的方法是,了解您的网络的运行状况,以及计算机中的哪些服务存在危险隐患。未经授权的服务,如 Web 服务器、或者文件共享解决方案,不仅会降低网络的性能,其他人还可能使用这些服务进入到您的网络中。在本文中,将了解如何使用相同的技术以确保非假冒的服务能够保持可用状态。关于本系列典型的 UNIX 管理员拥有一套经常用于辅助管理过程的关键实用工具、诀窍和系统。存在各种用于简化不同过程的关键实用工具、命令行链和脚本。其中一些工具来自于操作系统,而大部分的诀窍则来源于长期的经验积累和减轻系统管理员工作压力的要求。本系列文章主要专注于最大限度地利用各种 UNIX 环境中可用的工具,包括简化异构环境中的管理任务的方法。网络扫描的类型扫描网络可以使您迅速而准确地了解网络的运行状况、配置选项及其所能提供的服务。不同的网络扫描可以查找并记录不同的信息。并且,您还可以采用不同的方式来进行这些扫描,以确定关于您的网络的各种类型的信息。对于所有的网络环境,都可以确定一些关键的要素,其中之一是网络的运行状况。网络攻击、未经授权的设备,以及错误的或者不正确配置的主机,都可能导致在您的网络中出现潜在的问题。您应该使用的第一种类型的网络扫描是,在网络中查找并定位正在使用的 Internet 协议 (IP) 地址。因为在没有提供进行通信的网络端口(例如,超文本传输协议 (HTTP) 和简单邮件传输协议 (SMTP) 协议所使用的端口)的情况下,IP 地址基本上没有任何用处,所以您必须找出其他人为进行连接正在侦听其中哪些端口。其他类型的扫描还包括,实际查看在网络中传输的原始数据包所包含的信息。原始网络扫描可以提供大量的信息,比如了解通过网络所交换的信息的确切性质,以及网络的整体性能。通过将您所了解的、关于网络中主机和端口的信息与您从原始网络扫描中所获取的信息结合在一起,您就可以更好地了解网络的实际运行状况。例如,在网络扫描期间,您可能会发现某台特定的主机正在侦听非标准的端口,这时如果不使用原始网络扫描以了解具体的日期和信息类型,将很难确定该主机和端口的作用。是否有人正将该主机和端口用于正当的用途(如 HTTP)、或者更具破坏性的用途(如网络攻击、开放的 SSH、或者可能用于安全破坏的其他端口)?扫描主机确定网络中的主机,这是最基本的网络扫描任务,并且这是了解网络运行状况的最好方式。这些信息本身是非常有价值的,但如果能够将您所确定和发现的其他信息与您在技术上所了解的相关信息(即网络中所配置的主机及其 IP 地址的列表)结合在一起,那么这些信息将会变得更有价值。在扫描网络 IP 的时候,请记住下面几点: * 您可以更改这些 IP 地址,如果您在网络中使用了动态主机配置协议 (DHCP),那么当前 IP 地址的列表很可能是不完整的。 * 一次扫描不可能获得您所需要的所有信息。在扫描 IP 地址的时候,您只能识别那些处于开机状态、并且正在运行某种操作系统的主机的 IP 地址。而无法识别那些关闭的系统或者处于休眠状态的系统。因此,您通常需要进行多次扫描,以识别网络中所有有效的主机。 * 事实上,如果您可以识别一台主机,这表示它在网络中进行了配置,但无法告诉您该主机是否经过授权。因此,您需要将这些信息与所了解的其他数据进行比较,以确保该主机在您的网络中是有效的。nmap 工具提供了在整个网络上扫描主机的功能。它还可以识别哪些主机是可以访问的、它们的 IP 和 MAC 地址,并扫描和检查已打开的端口、所使用的协议和主机操作系统。要执行类似基本的 ping 测试,并识别网络中配置的所有主机,可以使用 -sP 命令行选项,并提供您希望扫描的 IP 地址规范。这个 IP 地址规范支持各种不同的格式,包括 IP 地址和子网掩码、网络规范、甚至 IP 地址范围。例如,要扫描 网络中的所有主机,您可以使用清单 1 中的命令。清单 1. 扫描 网络中的所有主机1. $ nmap -sP /242.3. Starting Nmap 4.20 ( ) at 2007-10-14 19:15 GMT4. Host gendarme.mcslp.pri () appears to be up.5. MAC Address: 00:0F:B5:30:42:60 (Netgear)6. Host 1 appears to be up.7. MAC Address: 00:02:11:90:15:31 (Nature Worldwide Technology)8. Host 0 appears to be up.9. MAC Address: 00:61:CA:28:0C:23 (Unknown)10. Host 6 appears to be up.11. MAC Address: 00:08:7B:05:D1:52 (RTX Telecom A/S)12. Host 8 appears to be up.13. MAC Address: 00:18:4D:59:AB:B5 (Netgear)14. Host 01 appears to be up.15. MAC Address: 00:16:CB:A0:3B:CB (Apple Computer)16. Host 03 appears to be up.17. MAC Address: 00:0D:93:4E:61:2A (Apple Computer)18. Host nautilus.mcslp.pri (08) appears to be up.19. MAC Address: 00:16:CB:8F:04:0B (Apple Computer)20. Host narcissus.mcslp.pri (10) appears to be up.21. MAC Address: 00:16:CB:85:2D:15 (Apple Computer)22. Host airong.wireless.mcslp.pri (10) appears to be up.23. MAC Address: 00:0F:B5:0D:82:FC (Netgear)24. Host gentoo2.vm.mcslp.pri (30) appears to be up.25. Nmap finished: 256 IP addresses (11 hosts up) scanned in 20.758 seconds复制代码该输出为您提供了一份非常详细的列表,其中列出了所发现的主机、注册的 IP 和 MAC 地址,以及可能的主机提供商的简要确定信息。因为向不同的制造商分配了不同的 MAC 地址块,所以您可以获得这个信息。这个信息所不能告诉您的是,这些主机正在侦听哪些端口。侦听端口可以告诉您该主机正在使用何种通信协议,如果您对该主机的情况并不了解,那么它可以告诉您该主机正在执行的操作,以便您能够识别这台主机。扫描端口当一台计算机正在运行某个特定的服务(例如,Web 服务器、电子邮件服务器或者对等服务)时,该计算机必定会侦听某个特定的端口。其中有一些端口是众所周知的(例如,端口 80 用于 HTTP)。您可以对所检查的所有主机、或者单个主机进行端口扫描。例如,如果针对某台主机执行一次端口扫描,那么您就可以很清楚地了解到这台计算机正在进行什么样的操作。清单 2 中显示了对服务器的端口的扫描。清单 2. 扫描服务器的端口1. $ nmap -sT narcissus2.3. Starting Nmap 4.20 ( ) at 2007-10-14 19:45 GMT4. Interesting ports on narcissus.mcslp.pri (10):5. Not shown: 1674 closed ports6. PORT STATE SERVICE7. 21/tcp openftp8. 22/tcp openssh9. 25/tcp opensmtp10. 53/tcp opendomain11. 80/tcp openhttp12. 106/tcpopenpop3pw13. 110/tcpopenpop314. 111/tcpopenrpcbind15. 143/tcpopenimap16. 311/tcpopenasip-webadmin17. 389/tcpopenldap18. 427/tcpopensvrloc19. 443/tcpopenhttps20. 548/tcpopenafpovertcp21. 625/tcpopenunknown22. 749/tcpopenkerberos-adm23. 1011/tcp openunknown24. 1014/tcp openunknown25. 1015/tcp openunknown26. 2049/tcp opennfs27. 3306/tcp openmysql28. 3689/tcp openrendezvous29. 5900/tcp openvnc30. MAC Address: 00:16:CB:85:2D:15 (Apple Computer)31.32. Nmap finished: 1 IP address (1 host up) scanned in 22.399 seconds复制代码该扫描的输出仅显示了活动的传输控制协议 (TCP) 和 IP 端口。如果您还希望扫描用户数据报协议 (UDP) 端口,那么您必须指定 -sU 选项,如清单 3 中所示。清单 3. 指定 -sU 选项1. $ nmap -sU -sT narcissus2.3. Starting Nmap 4.20 ( ) at 2007-10-14 20:05 GMT4. Interesting ports on narcissus.mcslp.pri (10):5. Not shown: 3150 closed ports6. PORT STATE SERVICE7. 21/tcp open ftp8. 22/tcp open ssh9. 25/tcp open smtp10. 53/tcp open domain11. 80/tcp open http12. 106/tcpopen pop3pw13. 110/tcpopen pop314. 111/tcpopen rpcbind15. 143/tcpopen imap16. 311/tcpopen asip-webadmin17. 389/tcpopen ldap18. 427/tcpopen svrloc19. 443/tcpopen https20. 548/tcpopen afpovertcp21. 625/tcpopen unknown22. 749/tcpopen kerberos-adm23. 1011/tcp open unknown24. 1014/tcp open unknown25. 1015/tcp open unknown26. 2049/tcp open nfs27. 3306/tcp open mysql28. 3689/tcp open rendezvous29. 5900/tcp open vnc30. 53/udp open|filtered domain31. 67/udp open|filtered dhcps32. 88/udp open|filtered kerberos-sec33. 111/udpopen|filtered rpcbind34. 123/udpopen|filtered ntp35. 427/udpopen|filtered svrloc36. 464/udpopen kpasswd537. 989/udpopen|filtered unknown38. 990/udpopen|filtered unknown39. 1008/udp open|filtered ufsd40. 1021/udp open|filtered unknown41. 5353/udp open|filtered zeroconf42. MAC Address: 00:16:CB:85:2D:15 (Apple Computer)43.44. Nmap finished: 1 IP address (1 host up) scanned in 78.605 seconds复制代码您可以对网络中所有的主机重复这个过程。记录相关信息如前所述,如果只进行一次扫描,那么主机或者端口扫描信息仅在执行该次扫描的时候是有用的。主机可能会关闭,某些服务可能暂时无法使用,并且在一个非常繁忙的网络中,扫描数据包可能根本无法通过。您应该定时进行扫描,然后比较(甚至组合)多次扫描所得到的输出。要完成这项任务,最简单的方法是运行 nmap,记录其输出,然后使用像 diff 这样的工具,以便对输出信息进行比较,并报告其中的更改。您可以在清单 4 中看到相关的示例,其中对同一台主机两次执行 nmap 所得到的输出进行了比较。清单 4. 对同一台主机两次执行 nmap 所得到的输出进行比较1. $ diff narcissus.20070526 narcissus.200709242. 26c263. 3306/tcp open mysql6. 27a287. 5900/tcp open vnc复制代码其中的行以“”开头,这表示不同的行属于哪个文件。在这个示例中,您可以看到,在第一个文件中出现了网络文件系统 (NFS) 协议,在第二个文件中则没有出现,而在后面一次扫描期间,mysql 和 vnc 端口都处于打开状态。扫描原始数据包对于查找 IP 主机和开放的主机,nmap 工具是非常合适的;然而,nmap 无法告诉您网络中实际传输的内容。捕获原始数据包,使您能够了解哪些主机正在与给定的主机进行通信、正在交换什么信息,以及正在使用哪些信息。您可以获得原始数据包信息,并找出正使用正确的设置进行传输的信息(例如,哪些用户正从哪些主机上登录到某台特定的邮件服务器)。您甚至可以使用它来识别在某个未经标识的端口上所交换的数据的类型。如果您希望扫描经过网络传输的原始数据信息,那么您需要使用一种其他工具,而不是 nmap,因为它只能扫描主机和端口。有许多不同的工具可供使用,包括不同操作系统所附带的工具和第三方解决方案。有关这些内容的示例,请参见参考资料部分。在 AIX 中,您可以使用 iptrace 工具来扫描网络。在 Solaris 中,snoop 工具可以执行类似的操作,像 Ethereal 这样的第三方工具也提供了扫描功能。每种工具都使用了相同的前提。例如,对于以太网来说,网络标准数据包将发送到所有的物理端口,并且通过扫描通过网络传输的所有数据包,您可以检查其中的内容。使用以太网交换机,不会将数据包发送到所有端口,但是许多最新的交换机都提供了一个管理端口,该端口会将信息发送到所有的端口。即使在交换的网络中,通过对您所希望研究的主机运行数据包扫描工具,您就可以获得一些有价值的信息。虽然使用这些工具的方法以及它们所能够提供的信息稍有差别,但是其基本原理都是相同的。对于 AIX,iptrace 是一个后台守护进程,因此您必须启动和停止该工具,以便对进程状态进行切换。例如,要启动这个守护进程,可以键入下面的内容:1. # startsrc -s iptrace -a -i tr0 /home/user/iptrace/log1复制代码要停止这个守护进程,可以键入下面的内容:1. # stopsrc -s iptrace复制代码在 Solaris 中,您可以根据需要运行 snoop 工具:1. # snoop复制代码因为通过网络传输的数据量可能非常大,所以您可以通过限定希望扫描的主机、端口或者协议,选择仅获取一组有限的信息。例如,要仅检查往返于特定主机的交换数据,可以尝试下面的操作:1. # snoop narcissus复制代码而且,因为大多数显示设备都不可能跟上原始数据信息的显示速度,所以最好将这些信息直接导出到文件中:# snoop -o /tmp/netdata narcissus.mcslp.pri要从文件中读取这些信息,可以使用 -i 命令行选项,以指定输入源文件:1. # snoop -v -i /tmp/netdata复制代码在上面的示例中,已经切换到了详细模式,这将确保记录原始数据包的全部内容,而不仅仅是 snoop 在缺省情况下所提供的摘要信息。当您查看原始数据的时候,snoop 可以自动地为您格式化并解析数据包的内容,甚至深入到每个协议级别。例如,清单 5 显示了在 NFS 数据交换期间的输出。清单 5. 在 NFS 数据交换期间的输出 ETHER:- Ether Header -ETHER:ETHER:Packet 31 arrived at 10:00:2.70371ETHER:Packet size = 174 bytesETHER:Destination = 0:2:11:90:15:31,ETHER:Source = 0:16:cb:85:2d:15,ETHER:Ethertype = 0800 (IP)ETHER:IP: - IP Header -IP: IP: Version = 4IP: Header length = 20 bytesIP: Type of service = 0x00IP: xxx. . = 0 (precedence)IP: .0 . = normal delayIP: . 0. = normal throughputIP: . .0. = normal reliabilityIP: . .0. = not ECN capable transportIP: . .0 = no ECN congestion experiencedIP: Total length = 160 bytesIP: Identification = 14053IP: Flags = 0x4IP: .1. . = do not fragmentIP: .0. . = last fragmentIP: Fragment offset = 0 bytesIP: Time to live = 64 seconds/hopsIP: Protocol = 6 (TCP)IP: Header checksum = 8195IP: Source address = 10, narcissus.mcslp.priIP: Destination address = 1, ultra3IP: No optionsIP: TCP:- TCP Header -TCP:TCP:Source port = 2049TCP:Destination port = 1022 (Sun RPC)TCP:Sequence number = 1812746020TCP:Acknowledgement number = 1237063652TCP:Data offset = 20 bytesTCP:Flags = 0x18TCP: 0. . = No ECN congestion window reducedTCP: .0. . = No ECN echoTCP: .0. . = No urgent pointerTCP: .1 . = AcknowledgementTCP: . 1. = PushTCP: . .0. = No resetTCP: . .0. = No SynTCP: . .0 = No FinTCP:Window = 65535TCP:Checksum = 0x48daTCP:Urgent pointer = 0TCP:No optionsTCP:RPC:- SUN RPC Header -RPC:RPC:Record Mark: last fragment, length = 116RPC:Transaction id = 2490902676RPC:Type = 1 (Reply)RPC:This is a reply to frame 29RPC:Status = 0 (Accepted)RPC:Verifier : Flavor = 0 (None), len = 0 bytesRPC:Accept status = 0 (Success)RPC:NFS:- Sun NFS -NFS:NFS:Proc = 3 (Look up file name)NFS:Status = 2 (No such file or directory)NFS:Post-operation attributes: (directory)NFS: File type = 2 (Directory)NFS: Mode = 0770NFS: Setuid = 0, Setgid = 0, Sticky = 0NFS: Owners permissions = rwxNFS: Groups permissions = rwxNFS: Others permissions = -NFS: Link count = 13, User ID = 1025, Group ID = 1026NFS: File size = 442, Used = 4096NFS: Special: Major = 0, Minor = 0NFS: File system id = 234881046, File id = 22NFS: Last access time = 14-Oct-07 16:45:50.000000000 GMTNFS: Modification time = 11-Oct-07 12:48:53.000000000 GMTNFS: Attribute change time = 11-Oct-07 12:48:53.000000000 GMTNFS:NFS:对于所扫描的数据包内的所有行,使用协议级别作为前缀。在这个示例中,您可以看到原始以太网、IP 和 TCP 数据包,包括源、目标主机的信息以及数据包选项。在远程过程调用 (RPC) 级别,您记录下 NFS 请求的信息,然后在 NFS 文件中,您可以获得实际交换的数据。在这个示例中,您将看到该文件的具体信息(一般是在列出目录期间),并且您可以看到文件的类型、权限以及修改时间信息。清单 6 显示了域名服务器 (DNS) 查找某个主机名期间的输出。清单 6. DNS 查找某个主机名期间的输出 ETHER:- Ether Header -ETHER:ETHER:Packet 2 arrived at 10:05:19.05284ETHER:Packet size = 155 bytesETHER:Destination = 0:2:11:90:15:31,ETHER:Source = 0:16:cb:85:2d:15,ETHER:Ethertype = 0800 (IP)ETHER:IP: - IP Header -IP: IP: Version = 4IP: Header length = 20 bytesIP: Type of service = 0x00IP: xxx. . = 0 (precedence)IP: .0 . = normal delayIP: . 0. = normal throughputIP: . .0. = normal reliabilityIP: . .0. = not ECN capable transportIP: . .0 = no ECN congestion experiencedIP: Total length = 141 bytesIP: Identification = 53767IP: Flags = 0x0IP: .0. . = may fragmentIP: .0. . = last fragmentIP: Fragment offset = 0 bytesIP: Time to live = 64 seconds/hopsIP: Protocol = 17 (UDP)IP: Header checksum = 267bIP: Source address = 10, narcissus.mcslp.priIP: Destination address = 1, ultra3IP: No optionsIP: UDP:- UDP Header -UDP:UDP:Source port = 53UDP:Destination port = 46232UDP:Length = 121UDP:Checksum = 0C31UDP:DNS:- DNS Header -DNS:DNS:Response ID = 55625DNS:AA (Authoritative Answer) RA (Recursion Available)DNS:Response Code: 0 (OK)DNS:Reply to 1 question(s)DNS: Domain Name:www.mcslp.pri.DNS: Class: 1 (Internet)DNS: Type:28 (IPv6 Address)DNS:DNS:2 answer(s)DNS: Domain Name:www.mcslp.pri.DNS: Class: 1 (Internet)DNS: Type:5 (Canonical Name)DNS: TTL (Time To Live): 86400DNS: Canonical Name: narcissus.mcslp.pri.DNS:DNS: Domain Name: narcissus.mcslp.pri.DNS: Class: 1 (Internet)DNS: Type:28 (IPv6 Address)DNS: TTL (Time To Live): 86400DNS: IPv6 Address: fe80:216:cbff:fe85:2d15DNS:DNS:1 name server resource(s)DNS: Domain Name: mcslp.pri.DNS: Class: 1 (Internet)DNS: Type:2 (Authoritative Name Server)DNS: TTL (Time To Live): 86400DNS: Authoritative Name Server: narcissus.mcslp.pri.DNS:DNS:1 additional record(s)DNS: Domain Name: narcissus.mcslp.pri.DNS: Class: 1 (Internet)DNS: Type:1 (Address)DNS: TTL (Time To Live): 86400DNS: Address: 10DNS:在这个示例中,您可以看到,snoop 已经对 DNS 协议的内容进行了解码,以显示查找过程所返回的原始数据。在清单 7 中,您可以看到在访问网站时传输的数据包;在这个示例中,它是由网站返回的 Header 信息,通过查看其他的数据包,您还可以看到原始的请求信息,甚至所返回的数据。清单 7. 在访问网站时传输的数据包 ETHER:- Ether Header -ETHER:ETHER:Packet 10 arrived at 10:05:19.05636ETHER:Packet size = 563 bytesETHER:Destination = 0:2:11:90:15:31,ETHER:Source = 0:16:cb:85:2d:15,ETHER:Ethertype = 0800 (IP)ETHER:IP: - IP Header -IP: IP: Version = 4IP: Header length = 20 bytesIP: Type of service = 0x00IP: xxx. . = 0 (precedence)IP: .0 . = normal delayIP: . 0. = normal throughputIP: . .0. = normal reliabilityIP: . .0. = not ECN capable transportIP: . .0 = no ECN congestion experiencedIP: Total length = 549 bytesIP: Identification = 53771IP: Flags = 0x4IP: .1. . = d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论