您的位置:首页 > 理论基础 > 计算机网络

Linux常用网络指令

2009-07-23 20:54 525 查看
网络参数设定命令:
1.ifconfig: #手动的启动、观察与修改网络接口的相关参数
[root@linux ~]# ifconfig {interface} {up|down} #观察与启动接口
[root@linux ~]# ifconfig interface {options} #设定与修改接口
options:
up、down : #启动或关闭网络接口
mtu: #设定 MTU 值
netmask : #设定子网
broadcast: #设定广播地址
[root@linux ~]# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 8000
#注意:重新启动网络服务后,所做配置将失效,仍然以 /etc/sysconfig/network-scripts/ifcfg-ethx
#配置文件配置网络参数

2.ifup, ifdown: #直接以/etc/sysconfig/network-scripts/ifcfg-ethx 启动网络
[root@linux ~]# ifup / ifdown {interface}
#注意:ifconfig 设定过的接口,无法直接用ifdown关闭,因为ifdown需要核对配置文件,所以必须再用#ifconfig才能关闭接口

3.route: #查询、设定路由表
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [网段或主机] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [网段或主机] netmask [mask] [gw|dev]
-n #显示 IP 或 port number 取代通讯协议或主机名称
-ee #显示详细信息
-net #表示后面接的路由为一个网段
-host #表示后面接的是连接到单一主机的路由
Netmask #设定 netmask 决定网段的大小
Gw #gateway 简写,接 IP 地址,与 dev 不同
Dev #指定由某块网卡联机出去,接 eth0 等
[root@linux ~]# route -n #查询结果显示的顺序就是默认的路由顺序
Flags:
o U route is up #该路由以启动
o H target is a host #目标是主机
o G use gateway #使用外部主机传递数据包
o R reinstate route for dynamic routing #使用动态路由时,恢复路由信息的标记
o D dynamically installed by daemon or redirect #被设定为动态路由
o M modified from routing daemon or redirect #路由被修改
o ! reject route #不接受此路由

[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
[root@linux ~]# route add default gw 192.168.10.30 #默认路由

4.ip #可以直接修改上面提到的功能
[root@linux ~]# ip [option] [动作] [指令]
option
-s #显示统计数据(statistics),例如总接受封包数等
动作 #针对哪种网络参数进行操作 包括:
Link #关于装置 (device) 的相关设定,包括 MTU, MAC 地址等
addr/address #关于额外的 IP 协议,多IP的实现
Route #与路由有关的相关设定

1) ip link
[root@linux ~]# ip [-s] link show [device] #查看装置相关信息
[root@linux ~]# ip link set [device] [动作与参数]
Show #显示设备的相关信息
Set #设定项目
动作与参数:
up|down #启动或关闭接口
address #更改 MAC
Name #更改设备名称
Mtu #设定MTU
[root@linux ~]# ip link show #显示所有接口信息
[root@linux ~]# ip -s link show eth0
[root@linux ~]# ip link set eth0 up/down #启动关闭接口
[root@linux ~]# ip link set eth0 mtu 1000 #设定MTU 单位是bytes
[root@linux ~]# ip link set eth0 name vbird #设定接口名称,需关闭此接口
[root@linux ~]# ip link set eth0 address aa:aa:aa:aa:aa:aa #设定MAC

2) ip address
[root@linux ~]# ip address show [device] #查看IP参数
[root@linux ~]# ip address [add|del] [IP参数] [dev 装置名] [相关参数]
Show #显示接口IP信息
add|del #进行相关参数的增加或删除,主要有:
IP 参数 :网段的设定,例如 192.168.100.100/24
Dev :所要设定的接口,例如 eth0, eth1
相关参数:主要有:
Broadcast : 设定广播地址,如果设定值是 + 表示『让系统自动计算』
Labe : 装置的别名,例如 eth0:0
Scope : 接口的范围,通常是:
global :允许来自所有来源的联机,是默认值
site :仅支持 IPv6 ,仅允许本主机的联机
link :仅允许本设备自我联机
host :仅允许本主机内部的联机
[root@linux ~]# ip address show #显示所有接口IP参数
[root@linux ~]# ip address add 192.168.50.50/24 broadcast + dev eth0 label eth0:vbird
#新增一个特殊接口
[root@linux ~]# ip address del 192.168.50.50/24 dev eth0 #删除刚才新增的接口

3) ip route
[root@linux ~]# ip route show [device] #显示路由设定
[root@linux ~]# ip route [add|del] [IP或网段] [via gateway] [dev 设备]
参数:
Show #显示路由表,也可以使用 list
add|del #增加或删除路由
IP或网段 #192.168.50.0/24等类似网段或IP
Via #从哪个gateway出去,不一定需要
Dev #由那个装置连出去,必选项
Mtu #可以额外设定 MTU 的数值
[root@linux ~]# ip route show #显示路由信息
Proto #路由的路由协议,主要有redirect, kernel, boot, static, #ra等,其中 kernel 指的是直接由核心判断自动设定
Scope #路由的范围,主要是 link ,即与本设备有关的直接联机
[root@linux ~]# ip route add 192.168.5.0/24 dev eth0 #增加路由
[root@linux ~]# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0
[root@linux ~]# ip route add default via 192.168.1.2 dev eth0 #设定默认路由
[root@linux ~]# ip route del 192.168.10.0/24 #删除路由

iwlist #侦测无线 AP 的相关参数
iwconfig #设定无线网卡的相关参数
[root@linux ~]# dhclient eth0 #请求DHCP
网络侦错与观察指令
[root@linux ~]# ping [-bcstnM] IP
-b #broadcast IP,针对整个网段的主机PING
-c #设定 ping 的次数,例如 -c 5
-n #不进行 IP 与主机名称的反查,直接使用 IP
-s #发送出去的 ICMP 封包大小,默认为 56bytes,再加 8 bytes 的 ICMP 表头
-t #TTL值,默认255,每经过一个节点递减1
-M [do|dont] #侦测网络 MTU 数值,两个常见的项目:
Do #代表传送一个 DF (Don't Fragment)标志,使封包不能重新拆包与打包
Don #代表不传送 DF 旗标,表示封包可以在其它主机上拆包与打包
[root@linux ~]# ping -c 3 192.168.1.1
[root@linux ~]# ping -c 3 -b 192.168.10.255 #PING整个网段
[root@linux ~]# ping -c 2 -s 1000 -M do 192.168.10.10 #找出最大的 MTU 数值
[root@linux ~]# ping -c 2 -s 8000 -M do 192.168.10.10
[root@linux ~]# traceroute [-nwig] IP
-n #不解析主机名称,只用 IP ,速度较快
-w #若对方主机在几秒钟内没有回应就宣告失败,预设是 5 秒
-i #用在复杂环境,如果网络接口较多时,例如有两条 ADSL 连接到外部,主机会有两个 ppp
#可以使用 -i 来选择是 ppp0 还是 ppp1
-g #与参数 -i 类似,但是 -g 后面接 gateway IP
[root@linux ~]# traceroute -n www.yahoo.com.cn
[root@linux ~]# netstat -[rn] #与路由有关的参数
[root@linux ~]# netstat -[antulpc] #与网络接口有关的参数
-r #列出路由表,同 route
-n #不使用主机名称与服务名称,使用 IP 与 port number ,同 route -n
-a #列出所有的联机状态,包括 tcp/udp/unix socket 等
-t #仅列出 TCP 封包的联机
-u #仅列出 UDP 封包的联机
-l #仅列出 Listen (监听) 网络状态的服务
-p #列出 PID 与 Program 的文件名
-c #设定几秒钟自动更新一次,例如 -c 5 每五秒更新一次网络状态
[root@linux ~]# netstat –rn #列出路由表
[root@linux ~]# netstat –an #列出所有联机状态
[root@linux ~]# netstat –tulnp #列出已经启动的网络服务
[root@linux ~]# netstat –atunp #查看主机所有网络联机状态
[root@linux ~]# host [-a] hostname [server] #反查IP
[root@linux ~]# host www.yahoo.com.cn
[root@linux ~]# host www.yahoo.com.cn 168.95.1.1 #指定DNS主机反查IP
[root@linux ~]# nslookup www.yahoo.com.cn #反查IP
[root@linux ~]# nslookup 168.95.1.1 #查主机名称
机指令
[root@linux ~]# telnet [host|IP] [port]
[root@linux ~]# telnet bbs.dorm.ncku.edu.tw
root@linux ~]# telnet localhost 110 #侦测某个端口是否启动
[root@linux ~]# ftp [-p] [host|IP] [port]
-p #启动被动式模式 (passive, PASV)
[root@linux ~]# ftp ftp.isu.edu.tw
ftp> help #提供帮助
ftp> cd /pub #变换目录
ftp> dir #显示远程主机的目录内容
ftp> get file #下载 file 这个文件
ftp> mget file #下载 file 这个目录或文件
ftp> put file #上传 file 这个文件到服务器
ftp> delete file #删除主机上的 file 这个文件
ftp> mkdir dir #建立 dir 这个目录
ftp> lcd /home #切换『本地端主机』的工作目录
ftp> passive #启动或关闭 passive 模式
ftp> binary #数据传输模式设定为 binary 格式
[root@linux ~]# lftp [-p port] [-u user[,pass]] [host|IP]
-p #后面接远程 FTP 主机提供的 port
-u #后面接账号与密码
[root@linux ~]# lftp ftp.isu.edu.tw
[root@linux ~]#gaim #X下的MSN
文字接口网页浏览:
[root@linux ~]# lynx [options] [website]
options #常用参数,使用 man lynx 查看,常见有:
-anonymous #默认使用匿名登入
-assume_charset=big5 #设定默认语言
[root@linux ~]#LANG=en_US #设定语系,否则无法正常显示中文
[root@linux ~]#lynx http://www.kernel.org
[root@linux ~]# vi /etc/lynx.cfg #永久更改语系
[root@linux ~]# wget [option] [网址]
--http-user=usrname
--http-password=password
--quiet #不显示 wget 在抓取数据时候的显示讯息
[root@linux ~]# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.gz
[root@linux ~]# vi /etc/wgetrc #设定代理服务器

[root@linux ~]# tcpdump [-nn] [-i ] [-w ] [-c ] [-Ae] [-qX] [-r ] [想要抓取的数据内容]
-nn #直接以 IP 及 port number 显示
-i #接要『监听』的网络接口
-w #保存抓取的内容到文件
-c #监听的封包数,抓取的次数
-A #封包的内容以 ASCII 显示,通常用来捉取 WWW 网页封包
-e #使用数据链路层的 MAC 封包数据显示
-q #仅列出简短的封包信息
-X #列出十六进制 (hex) 以及 ASCII 的封包内容,可用于监听封包内容
-r #从后面接的文件将封包数据读出来。『文件』是已经存在的文件
#并且这个『文件』是由 -w 生成的
想要抓取的数据内容 #可以专门针对某些通讯协议或者是 IP 来源进行封包抓取,这样就可以简化输出,只抓取有用信息。常见的表示方法有:
'host foo', 'host 127.0.0.1' #对单一主机进行封包抓取
'net 192.168' #对某个网段进行封包抓取
'src host 127.0.0.1' 'dst net 192.168' #同时加上来源(src)或目标(dst)限制
'tcp port 21' #对通讯协议侦测,如tcp, udp, arp, ether等
#可以利用 and 与 or 进行封包数据的整合显示
[root@linux ~]# tcpdump -i eth0 –nn #对eth0抓包
[root@linux ~]# tcpdump -i eth0 -nn port 21 #抓取端口21的封包
[root@linux ~]# tcpdump -i eth0 -nn 'port 22 and src host 192.168.1.100'
[root@linux ~]# tcpdump -i lo -nn -X 'port 21'
[root@linux ~]# tethereal #功能类似tcpdump #也可在X输入ethereal,图形界面
[root@linux ~]# nc [IP|host] [port]
[root@linux ~]# nc -l -p [port]
-l #作为监听用,即开启一个 port 来监听用户的联机
-p #开启的这个 port number
[root@linux ~]# nc localhost 25 #连接本地 port 25
[root@linux ~]# nc -l -p 20000 #激活一个 port 监听联机请求
[root@linux ~]# nc localhost 20000 #联机到客户端
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: