·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux论坛 | Linux文档 | Linux下载 | Linux博客 | Linux搜索 | 开源项目孵化平台 | 《开源时代》
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 系统管理
 
Linux常用命令(2) 网络
来源: ChinaUnix博客  日期: 2007.11.09 21:49 (共有条评论) 我要评论
 
一.ping
功能说明:检测主机。
语  法:ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t][主机名称或IP地址]
补充说明:执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
参  数:
  -d   使用Socket的SO_DEBUG功能。
  -c   设置完成要求回应的次数。
  -f   极限检测。
  -i   指定收发信息的间隔时间。
  -I   使用指定的网络界面送出数据包。
  -l   设置在送出要求信息之前,先行发出的数据包。
  -n   只输出数值。
  -p   设置填满数据包的范本样式。
  -q   不显示指令执行过程,开头和结尾的相关信息除外。
  -r   忽略普通的Routing Table,直接将数据包送到远端主机上。
  -R   记录路由过程。
  -s   设置数据包的大小。
  -t   设置存活数值TTL的大小。
  -v   详细显示指令的执行过程。
二.ifconfig

功能说明:显示或设置网络设备。
语  法:ifconfig [网络设备][down up -allmulti -arp -promisc][add][del][][io_addr][irq][media][mem_start][metric][mtu][netmask][tunnel][-broadcast][-pointopoint][IP地址]
补充说明:ifconfig可设置网络设备的状态,或是显示目前的设置。
参  数:
  add   设置网络设备IPv6的IP地址。
  del   删除网络设备IPv6的IP地址。
  down   关闭指定的网络设备。
     设置网络设备的类型与硬件地址。
  io_addr   设置网络设备的I/O地址。
  irq   设置网络设备的IRQ。
  media   设置网络设备的媒介类型。
  mem_start   设置网络设备在主内存所占用的起始地址。
  metric   指定在计算数据包的转送次数时,所要加上的数目。
  mtu   设置网络设备的MTU。
  netmask   设置网络设备的子网掩码。
  tunnel   建立IPv4与IPv6之间的隧道通信地址。
  up   启动指定的网络设备。
  -broadcast   将要送往指定地址的数据包当成广播数据包来处理。
  -pointopoint   与指定地址的网络设备建立直接连线,此模式具有保密功能。
  -promisc   关闭或启动指定网络设备的promiscuous模式。
  [IP地址]   指定网络设备的IP地址。
  [网络设备]   指定网络设备的名称。

三.netconfig

功能说明:设置网络环境。
语  法:netconfig
补充说明:这是Slackware发行版内附程序,它具有互动式的问答界面,让用户轻易完成网络环境的设置。

四:route

使用路由方式。使用route命令。
-- Route命令的正确用法
使用 Route 命令行工具查看并编辑计算机的 IP 路由表。Route 命令和语法如下所示:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
-f 清除所有网关入口的路由表。
-p 与 add 命令一起使用时使路由具有永久性。
Command 指定您想运行的命令 (Add/Change/Delete/Print)。
Destination 指定该路由的网络目标。
mask Netmask 指定与网络目标相关的网络掩码(也被称作子网掩码)。
Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。
metric Metric 为路由指定一个整数成本值标(从 1 至 9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。
if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引,使用 route print 命令的显示功能。可以使用十进制或十六进制值进行接口索引。
/? 在命令提示符处显示帮助。
示例
若要显示 IP 路由表的全部内容,请键入:
route print
若要显示以 10. 起始的 IP 路由表中的路由,请键入:
route print 10.*
若要添加带有 192.168.12.1 默认网关地址的默认路由,请键入:
route add 0.0.0.0 mask 0.0.0.0 192.168.12.1
若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个永久路由,请键入:
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
若要向带有 255.255.0.0 子网掩码、10.27.0.1 下一跃点地址且其成本值标为 7 的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
若要向带有 255.255.0.0 子网掩码、10.27.0.1 下一跃点地址且使用 0x3 接口索引的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
若要删除到带有 255.255.0.0 子网掩码的 10.41.0.0 目标的路由,请键入:
route delete 10.41.0.0 mask 255.255.0.0
若要删除以 10. 起始的 IP 路由表中的所有路由,请键入:
route delete 10.*
若要将带有 10.41.0.0 目标和 255.255.0.0 子网掩码的下一跃点地址从 10.27.0.1 修改为 10.27.0.25,请键入:
route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

五.netstat

netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
  
  该命令的一般格式为:
  
  netstat [选项]
  
  命令中各选项的含义如下:
  
  -a 显示所有socket,包括正在监听的。
  
  -c 每隔1秒就重新显示一遍,直到用户中断它。
  
  -i 显示所有网络接口的信息,格式同“ifconfig -e”。
  
  -n 以网络IP地址代替名称,显示出网络连接情形。
  
  -r 显示核心路由表,格式同“route -e”。
  
  -t 显示TCP协议的连接情况。
  
  -u 显示UDP协议的连接情况。
  
  -v 显示正在进行的工作。
六.nslookup

  nslookup最简单的用法就是查询域名对应的IP地址,包括A记录和CNAME记录,如果查到的是CNAME记录还会返回别名记录的设置情况。其用法是:
  nslookup 域名
  以下是A记录的返回情况。

  nslookup命令会采用先反向解释获得使用的DNS服务器的名称,由于我这里使用的是一个内部的DNS服务器所以没有正确的反向记录,导致结果的前面几行出错。大家可以不必理会。重点看的是最后的两行这里看到的是www.oray.net的IP地址是61.145.112.212。注意即使www.oray.net的主机没有在线同样能够返回结果。
  如果目标域名是一个别名记录(CNAME),nslookup就开始显示出和ping命令不同的地方了,请看查询CNAME记录的结果。由于CNAME和A记录最后都是活的IP地址,所以一般情况下两者是等同看待的,命令的格式相同。

  注意这次nslookup返回了三行信息,前两行显示这是一个CNAME记录,对应的域名和IP地址。最后显示的就是目标域名, 并注明Alias(别名)。
如果域名不存在会怎样呢?

  看得懂最后以行的英文吗,不懂没关系记住形状就可以了。如果一个指定类型的域名不存在对应的记录同样也是这种结果。
  查询其他类型的域名
  前面两个命令我们没有加任何参数,所以默认情况下nslookup查询的是A类型的记录。如果我们配置了其他类型的记录希望看到解释是否正常。这时候ping就无能为力了。比如我们配置了MX记录,但是邮件服务器只能发信不能收信,到底是域名解释问题还是其他的问题Ping命令的检查只能让你误入歧途。nslookup 这时候可以模拟你的其他遇见服务器进行域名解释的情况。我们需要在nslookup上加上适当的参数。指定查询记录类型的指令格式如下:
  nslookup –qt=类型 目标域名
  注意qt必须小写。
  类型可以是一下字符,不区分大小写:
  A 地址记录(Ipv4)
  AAAA 地址记录(Ipv6)
  AFSDB Andrew文件系统数据库服务器记录(不懂)
  ATMA ATM地址记录(不是自动提款机)
  CNAME 别名记录
  HINFO 硬件配置记录,包括CPU、操作系统信息
  ISDN 域名对应的ISDN号码
  MB 存放指定邮箱的服务器
  MG 邮件组记录
  MINFO 邮件组和邮箱的信息记录
  MR 改名的邮箱记录
  MX 邮件服务器记录
  NS 名字服务器记录
  PTR 反向记录(从IP地址解释域名)
  RP 负责人记录
  RT 路由穿透记录(不懂)
  SRV TCP服务器信息记录(将有大用处)
  TXT 域名对应的文本信息
  X25 域名对应的X.25地址记录
看看oray.net的邮件服务器记录吧。

  看看,nslookup把服务器的名称和地址都给出来了,注意preference就是前面所说的优先级,该数值越小则优先级越高。
  我再看看名字服务器记录是怎么样的。

  看起来和MX记录的格式差不多,一般情况下服务器会同时返回对应的地址。不过也有不返回的情况。
  在这里我希望大家注意一行显示“Non-suthoritativeanswer:”,这一行在前面的例子中都没有显示过。它的出现代表这个结果是从服务器的缓存中得到的。所以提醒你这不是一个授权的答案。前面我们进行的几次查询过程中192.168.1.104这台机器就采用了我们第一篇文章中描述的过程查询了oray.net的域名。在这个过程中不但缓存了www.oray.net、test.oray.net以及oray.net的MX记录等最终结果。也包括获取的名字服务器等中间结果。隐含的查询了oray.net的NS记录。后面我们还会介绍这个过程。
  指定使用的名字服务器
  在默认情况下nslookup使用的是我们在本机TCP/IP配置中的DNS服务器进行查询,但有时候我们需要指定一个特定的服务器进行查询试验。这时候我们不需要更改本机的TCP/IP配置,只要在命令后面加上指定的服务器IP或者域名就可以了。这个参数在我们对一台指定服务器排错是非常必要的,另外我们可以通过指定服务器直接查询授权服务器的结果避免其他服务器缓存的结果。命令格式如下:
  nslookup [-qt=类型] 目标域名 指定的DNS服务器IP或域名
  我们可看看以下的命令结果:

 域名解释过程的模拟
  我们现在来模拟一下一台DNS服务器接到一个不是自己管理的域的域名解释过程。回忆一下第一篇文章的过程:
  首先我们会询问根服务器,然后根服务器会让我们去找对应的顶级服务器。如果查询的是oray.net,就会要求我们去找net的服务器。
  看看下面的范例:
  这里我们让21cn.com的服务器解释www.oicp.net的域名,很显然这台服务器不用有这个域,需要询问根服务器。一般情况下DNS服务器会帮我们完成全部的过程。这种解释方式我们称之为递归解析,为了让大家看到这个过程我家了一个参数让21cn.com的服务器不要这样做。这个参数是-norecurse。这样理论上21cn.com会让我们去问根服务器,不过由于它已经缓存了顶级服务器的记录,所以直接返回了管理net的顶级服务器记录。实际上大部分的查询都不需要从根服务器开始。大家看到了所有的顶级域名服务器的地址都被返回。
  我们随便选择一个在进行查询。

  这次顶级服务器就返回了oicp.net的服务器地址记录的。然后我们就向这些记录之一进行查询,一定能够得到答案。可能是一个地址、一个CNAME记录或者告诉你不存在。
  nslookup的命令就介绍到这里,其实nslookup还有许多其他参数。不过常用的就俄这么几个,另外如果大家不喜欢命令行方式的话。还有几个图形界面的nslookup功能的工具。不过大家还是需要了解域名解释都有些什么才能够正确使用这些工具。
七.host

Host能够用来查询域名,然而它可以得到更多的信息。host -t mx linux.com可以查询出Linux.com的MX记录,以及处理Mail的Host的名字。Host -l linux.com会返回所有注册在linux.com下的域名。host -a linux.com则会显示这个主机的所有域名信息。
    host -t mx example.com可以查询出example.com的MX记录,以及处理mail的host的名字
    host -l example.com会返回所有注册在example.com下的域名
    host -a example.com则会显示这个主机的所有域名信息.

八.iptables

linux内核中有一个功能强大的netfilter子系统提供了有状态和无状态分组的过滤,还提供了NAT和IP伪装服务。netfilter还具备为高级选路和连接状态管理而变形IP头信息的能力。它就是通过IPTables工具来控制的。
1、使用IPTables
  启动IPTables服务:
   service iptables start
  停止IPTables服务:
   service iptables stop
  使IPTables在系统引导时启动命令:
   chkconfig --level 345 iptables on
IPTables的语法被分为几个层次,主要层次为“链”(chain)。即处理分组的状态。
  iptables -A chain -j target
  [参数说明]:-A 在现存的规则集合内后补一条规则。chain 是规则所在“链”的名称。IPTables中有三个内建的链(即影响每一个在网络中经过的分组的链):INPUT、OUTPUT、和 FORWARD。这些链是永久性的,不能被删除。
  在创建IPTables规则集合时,规则的顺序非常重要,应先设置小的规则,再设置大的规则,否则无效。一个容易记住的方法就是:规则顺序由小到大。
  例如:如果某个链指定了来自本地子网 192.168.100.0/24 的任何分组都应放弃,然后一个允许来自 192.168.100.13(在前面要放弃分组的子网范围内)的分组的链被补在这个规则后面(-A),那么这个后补的规则就会被忽略。你必须首先设置允许 192.168.100.13 的规则,然后再设置放弃规则。
  要在现存规则链的任意处插入一条规则,使用 -I,随后是你想插入规则的链的名称,然后是你想放置规则的位置号码(1,2,3,...,n)。例如:
  iptables -I INPUT 1 -i lo -p all -j ACCEPT
  [说明]:这条规则被插入为 INPUT 链的第一条规则,它允许本地环回设备上的交通。
a.基本防火墙策略
  在一开始就建立的某些基本策略为建构更详细的用户定义的规则奠定了基础。IPTables 使用策略(policy, -P)来创建默认规则。对安全敏感的管理员通常想采取放弃所有分组、只逐一允许指定分组的策略。以下规则阻塞网络上所有的出入分组。
  iptables -P INPUT DROP
  iptables -P OUTPUT DROP
  此外,还推荐你拒绝所有转发分组(forwarded packets) — 要从防火墙被选路发送到它的目标节点的网络交通 — 以便限制内部客户对互联网的无心暴露。要达到这个目的,使用以下规则:
  iptables -P FORWARD DROP
  [注]:在处理添加的规则时,REJECT(拒绝)目标和 DROP(放弃)目标这两种行动有所不同。  
REJECT 会拒绝目标分组的进入,并给企图连接服务的用户返回一个 connection refused 的错误消息。
  DROP 会放弃分组,而对 telnet 用户不发出任何警告;不过,为了避免导致用户由于迷惑不解而不停试图连接的情况的发生,推荐你使用 REJECT 目标。
  设置了策略链后,为你的特定网络和安全需要创建新规则。
b.保存和恢复IPTables规则
  防火墙规则只在计算机处于开启状态时才有效。如果系统重新启动,这些规则将自动清除。这种情况下,规则需要保存,它所用的命令如下:
  /sbin/service iptables save
  它保存在/etc/sysconfig/iptables文件中的在重启服务(包括电脑重新引导)时,这些规则就会被应用。
c.常用IPTables过滤
  把远程攻击者据之门外(即局域网之外)是网络安全的一个重要方面。LAN的完好性应该通过使用严格的防火墙规则来抵御不良的远程用户而被保护。但如果默认策略被设置为阻塞所有进入、输出、和转发的分组,防火墙/网关和内部LAN用户之间的通信就无法进行。要允许用户执行和网络相关的功能以及使用联网应用程序,管理员必须打开某些端口进行通信。
  如:要允许到防火墙上的端口80的通信,添加以下规则:
  iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
  iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
  但是,要允许安全网站访问,还需打开端口443
  iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
  iptables -A OUTPUT -P tcp -m tcp --dport 443 -j ACCEPT
  如果要允许SSH访问,可使用以下规则:
  iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  iptables -A OUTPUT -p udp --sport 22 -j ACCEPT
  来自外部的CIPE连接请求可以使用以下命令来接受(x替换成设备号码):
  iptables -A INPUT -p udp -i cipcbx -j ACCEPT
  iptables -A OUTPUT -p udp -o cipcbx -j ACCEPT
  cipe 使用它自己的UDP分组的虚拟设备,因此这条规则允许cipcb接口上的进入连接,而不是规定源地端口或目标端口(虽然它们可以被用来代替设备选项)。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7546/showart_418770.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· 金山卫士开源计划首周源码下载..
· 谷歌劝说诺基亚采用Android操作..
· 11月份Linux市场占有率升至5%
· Apache 基金会确认退出 JCP 执..
· Chrome 10 新功能探秘:新增GP..
· 金山宣布开源其安全软件
· 开源FTP服务器ProFTPD发现后门
· 女黑客在开源会议上抱受骚扰
· 21款值得关注的Linux游戏
· 马化腾:腾讯半年后彻底转型,..
论坛热点更多>> 
· Linux系统移植从零开始!参与..
· 学习linux的意义在哪里
· 使用netfilter在哪能获取到原..
· 哥纠结了
· 一个在线读开源代码的工具,..
· 为什么我的目录下没有.cshrc..
· 初学linux从哪里开始
· linux 系统无法上网
· 新手安装UCenter 时总是出错..
· cacti添加主机显示的状态都是..
文档更新更多>> 
· 菜鸟入门三星ARM11嵌入式系统,是..
· 寻redhat 5.3 的中文手册 for ia64
· 请问redhat 5.3 企业版的用户手册..
· LINUX与UNIX SHELL编程指南(中文)
· 一些基本用户管理以及基本安装方法
· 菜鸟学习linux笔记与练习-----第..
· 菜鸟学习linux笔记与练习-----第..
· 服务器配置:Squid配置详解
· linux下u盘使用
· ubuntu dynamips 绑定网卡到虚拟机
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2009 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证:060528号