Linux网络常用命令

LINUX网络常用命令

-

网络常用命令

ifconfig命令

参数选项

1设置eth0 ip 192.168.11.1

2设置eth0 mtu 1440

示例3设置新增子接口及IP

route命令

参数选项

路由标志Flags

示例1新增默认路由

示例2新增目标路由

ip命令

参数选项

ip link参数选项

ip address 参数选项

ip route 参数选项

iwlist侦测无线AP命令

iwconfig无线配置命令

dhclient命令(自动获取IP)

示例eth0自动获取

示例释放IP

ping命令

参数选项

示例MTU数值侦测

示例使用接口()PING

netstat命令

参数选项

hostname命令

DNS配置文件

清除DNS缓存

lynx命令(浏览网页)

wget命令(下载文件)

ssh 远程登陆

参数语法

示例1

示例2远程登陆linux主机

示例3

其它(配置文件)

tcpdump命令

参数选项

捕获实例命令

nc命令

语法参数

1)扫描端口

2)连接到REMOTE主机,例子:

3)监听本机端口

4)扫描远程主机

5)两台linux主机间传送数据

网卡配置文件配置IP

IP配置示例

排错IP固定配置不生效

网卡名称被更改

网桥配置(两张网卡配置成网桥)

brctl命令使用

配置示例

双网卡绑定

网络常用命令

网络服务是在/etc/init.d/network

重启或开启或停止可在服务后加上,restart | start | stop |

例:/etc/ini.d/network restart  //重启服务

ifconfig命令

ifconfig 配置重启系统或重启服务会失效,但修改配置文件,配置是不会丢失、失效。配置文件位于:/etc/sysconfig/network-scripts/

ifup 、ifdown 也可用于开启或是禁用网卡,例 ifup eth0 开启eth0网卡,这两个命令实际上是script。在/etc/sysconfig/network-scripts/目录内

参数选项

接口信息:

例1设置eth0 ip为 192.168.11.1

[root@mail~]#ifconfig eth0 192.168.11.1

或加上掩码

[root@mail~]#ifconfig eth0 192.168.11.1 netmask 255.255.255.0

例2设置eth0 mtu 为1440

[root@mail~]#ifconfig eth0 mtu 1440

示例3设置新增子接口及IP

[root@mail~]#ifconfig eth0:0 192.168.20.1

子接口可以不跟物理接口在同一网段上。

route命令

参数选项

路由标志Flags

Possible flags include

U (route is up)

H (target is a host)

G (use gateway)

R (reinstate route for dynamic routing)

D (dynamically installed by daemon or redirect)

M (modified from routing daemon or redirect)

A (installed by addrconf)

C (cache entry)

! (reject route)

示例1新增默认路由

[root@mail~]#route add default gw 192.168.11.1

示例2新增目标路由

[root@mail~]#route add –net 192.168.100.0 netmask 255.255.255.0 gw 192.168.11.1

[root@mail~]#route add –net 192.168.100.0 netmask 255.255.255.0 dev eth0

ip命令

该命令整合了ifconfig 与route的功能,功能还更多。

参数选项

ip link参数选项

示例1查看eth0接口信息(ip link show)

或加上-s 查看更加详细信息,接收与发送信息

示例2开启/禁用网卡设置MTU,MAC

[root@mail~]#ip link set eth0 up    //开启eth0网卡

[root@mail~]#ip link set eth0 mtu 1440   //修改eth0网卡mtu为1440

[root@mail~]#ip link set eth0 name xiaojian  //修改eth0网卡名称为xiaojian

[root@mail~]#ip link set eth0 address aa:aa:aa:aa:aa:aa //修改eth0的MAC地址

ip address 参数选项

示例1用(ip address)设置ip地址

[root@mail~]#ip address add 192.168.100.1/24 dev eth1 //设置eth1接口IP

示例2显示IP地址

[root@mail~]#ip address show

ip route 参数选项

示例增加/删除路由

[root@mail~]#ip route add 192.168.1.0/24 dev eth1 //新到达192.168.1.0网段从eth1接口出去

[root@mail~]#ip route add 192.168.1.0/24 via 192.168.10.1 dev eth1

//一条没有写下一跳,另一条有写下一跳。

[root@mail~]#ip route del 192.168.10.0/24  //删除路由

示例查看路由表

ip route 与 route 命令差不多,

上图:

第1条与第3条是系统自动产生的路由,例如,你给eth1设置一个ip,系统自身就会产生这样一条路由。

第2条是加路由没有写下一跳直接写接口路由出去。

第四条是加路由有写下一跳在从接口路由出去。

iwlist侦测无线AP命令

利用无线网卡侦测无线AP

iwconfig无线配置命令

无线网卡配置命令

dhclient命令(自动获取IP)

示例eth0自动获取

[root@mail~]#dhclient eth0  //类似windows 网卡的自动配置IP通过DHCP协议去获取IP

示例释放IP

[root@mail~]#dhclient -r

ping命令

参数选项

-I :使用接口去PING

示例MTU数值侦测

[root@mail~]#ping –c 1460 –M do 192.168.11.6

示例使用接口(源)去PING

[root@mail~]#ping –I eth1 192.168.11.6

netstat命令

参数选项

hostname命令

[root@mail ~]# hostname#查看主机名

[root@mail ~]# hostname mail.linuxtest  #将主机名临时修改为mial.linuxtest,重启后消失。

第二种方法是修改配置文件/etc/sysconfig/network,重启不会丢失。

[root@mail ~]# vim /etc/sysconfig/network  #使用vim打开编辑network配置文件

NETWORKING=yes

HOSTNAME=mail.linuxtest.com      #主机名为mial.linuxtest.com

DNS配置文件

DNS配置文件位于/etc/resolv.conf

更改此配置文件需要重启/etc/init.d/network服务才会生效。

清除DNS缓存

DNS缓存由NSCD服务(name service cache daemon)负责管理。重新启动该服务器就能够清除DNS缓存了。

方法1:service nscd restart

方法2:/etc/init.d/nscd restart

如果是清除BIND服务器上的cache,就用这个命令

#rndc flush

lynx命令(浏览网页)

[root@mail~]#lynx http://www.sina.com.cn  //浏览新浪网页

如果浏览是中文网页注意更改语系,LANG=   等于语系例:英文语系:en.US

如果没有这个命令请安装:lynx-2.8.6-27.el6.i686.rpm这个套件

wget命令(下载文件)

[root@mail~]#wegt http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.gz

//下载linux-2.6.17.tar.gz文件

ssh 远程登陆

ssh命令用于远程登陆linux主机

参数语法

ssh [-l login_name] [-p port] [user@]hostname

示例1

[root@mail ~]#ssh 192.168.0.11  //不指定用户登陆

示例2远程登陆linux主机

[root@mail ~]#ssh –l root 192.168.0.11  //指定使用root账号登陆192.168.0.11

[root@mail ~]#ssh root@192.168.0.11 

示例3

如果修改过默认的ssh(22)登陆端口,则可以使用-p参数指定端口登陆。

[root@mail ~]#ssh –l root –p 22345 192.168.0.11

[root@mail ~]#ssh –p 22345 root@192.168.0.11

其它(配置文件)

/etc/ssh/sshd_config 配置文件内可更改登陆端口。

tcpdump命令

参数选项

-a       将网络地址和广播地址转变成名字;

-d     将匹配信息包的代码以人们能够理解的汇编格式给出;

-dd    将匹配信息包的代码以c语言程序段的格式给出;

-ddd   将匹配信息包的代码以十进制的形式给出;

-e     在输出行打印出数据链路层的头部信息;

-f    将外部的Internet地址以数字的形式打印出来;

-l    使标准输出变为缓冲行形式;

-n    不把网络地址转换成名字;

-s0   捕获四层以上信息

-nn    Don't covert protocol and port numbers etc. to names either

-t   在输出的每一行不打印时间戳;

-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;

-vv  输出详细的报文信息;

-c  在收到指定的包的数目后,tcpdump就会停止;

-F  从指定的文件中读取表达式,忽略其它的表达式;

-i 指定监听的网络接口;

-r 从指定的文件中读取包(这些包一般通过-w选项产生);

-w  直接将包写入文件中,并不分析和打印出来;

-T  将监听到的包直接解释为指定的类型的报文,常见的类型有rpc(远程过程调用)和snmp(简单网络管理协议;)

捕获实例命令

参数选项由自己定义想要查看什么信息输出,就加上什么参数。

//捕获主机eth0接口 192.168.11.1与192.168.11.6的icmp交互报文–n 与-vv 选项见上。

[root@mail~]#tcpdump –i eth0 host 192.168.11.1 and host 192.168.11.6 and icmp –nvv  

//捕获eth0接口arp协议报文-e可以打印出mac地址

[root@mail~]#tcpdump –i eth0 arp –en  

//捕获所有接口的icmp协议报文

[root@mail~]#tcpdump –i any icmp –n  

//捕获eth0接口主机192.168.11.1和192.168.11.6 TCP 21端***互报文

[root@mail~]#tcpdump –i eth0 host 192.168.11.1 and host 192.168.11.6 and tcp port 21

//捕获eth0接口所有53端口的数据报文

[root@mail~]#tcpdump –i eth0 port 53 –n

如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包

[root@mail~]#tcpdump –i eth0 host 210.27.48.1 and not 210.27.48.2 -nn

//捕获eth0接口所有数据包

[root@mail~]#tcpdump –i eth0 –nn   

//捕获eth0接口除了22端口的所有数据。

[root@mail~]#tcpdump –i eth0 not port 22 -nn

//捕获设备所有接口与目标202.85.219.10交互报文,并且显示报文的详细信息。

[root@mail~]#tcpdump -i any host 202.85.219.10 -evv

nc命令

语法参数

-h 帮助信息

-l 监听模式,用于入站连接

-n 指定数字的IP地址,不能用hostname

-u UDP模式

-t TCP模式(默认模式)

-v 详细输出——用两个-v可得到更详细的内容

-w secs timeout的时间

-z 将输入输出关掉——用于扫描时

  其中端口号可以指定一个或者用lo-hi式的指定范围。

基本使用

  想要连接到某处: nc [-options] hostname port[s] [ports] …

  绑定端口等待连接: nc -l port [-options] [hostname] [port]

1)扫描端口

tcp扫描

nc -v -z -w2 192.168.1.131 1-30  //扫描192.168.1.131的TCP1至30端口是否开放

udp扫描

nc -u -v -z -w2 192.168.1.131 1-30 //扫描192.168.1.131的UDP1至30端口是否开放

//UDP扫描测试过不行,TCP扫描可以。

2)连接到REMOTE主机,例子:

  格式:nc -nvv 192.168.x.x 80

  讲解:连到192.168.x.x的TCP80端口

3)监听本机端口

  格式:nc -l 80

  讲解:监听本机的TCP80端口

4)扫描远程主机

  格式:nc -nvv -w2 -z 192.168.x.x 80-445

  讲解:扫描192.168.x.x的TCP80到TCP445的所有端口

5)两台linux主机间传送数据

范例如下:

目的主机监听

nc -l监听端口<未使用端口> >要接收的文件名

nc -l 4444 > cache.tar.gz 

源主机发起请求

nc 目的主机ip   目的端口<要发送的文件

nc 192.168.0.85 4444 < /root/cache.tar.gz

如果文件内容没有传过去,要检查目录主机是否开启了防火墙

  文件传输完毕后,系统会自动断开连接。从上面来看,它其实是一个很简单的Server/Client模式,服务器端开启侦听端口,并用输入输出重定向到一个文件file.out当中,等待客户端的连接。客户端主动连接主机,并和它建立一个Socket连接,然后把传输的文件重定向到数据流当中。

需要注意的一点是,主机侦听的端口必须是已经开放的端口,可以通过查看iptables进行配置,或关闭防火墙

网卡配置文件配置IP

网卡配置文件位于/etc/sysconfig/network-scripts/目录内,例eth0网卡的配置文件为ifcfg-eth0,以此类推。配置示例中那么多配置选项参数,不是所有的选项参数一定都需要全部配置的。

配置完成后,需要重启系统或是重启network服务器才能生效。

重启系统与重启network服务命令:

[root@mail network-scripts]#reboot   #重启系统

[root@mail network-scripts]#/etc/init.d/network restart  #重启network服务

IP配置示例

[root@mail network-scripts]# vim ifcfg-eth0

DEVICE=eth0        #网卡的设备名称

HWADDR=00:0C:29:9C:E2:BF     #网卡的MAC地址

TYPE=Ethernet                 #网卡的类型:ethernet为以太网

IPADDR= 192.168.1.100           #配置静态IP地址

NETMASK=255.255.255.0     #配置子网掩码

GATEWAY= 192.168.1.1          #配置网关IP地址

NETWORK= 192.168.1.0        #配置网络地址

BROADCAST= 192.168.1.255    #配置广播地址

USERCTL=yes/no     #表示非root用户是否允许控制配置该网卡

ONBOOT=yes/no  #参数为yes(开机引导时激活网卡) 参数为no(引导时不激活网卡)

BOOTPROTO=none/static/dhcp/bootp 

#none开机引导时不使协议;static为静态分配置地址;dhcp为使用DHCP协议;bootp为使用bootp协议。

排错IP固定配置不生效

   Linux系统内有一张网卡eht1,通过更改/etc/sysconfig/network-scripts/目录内的ifcfg-eth1配置文件,更改该网卡配置为静态IP地址,重启network与重启系统均不生效。

查看ifcfg-eth1配置如下:

[root@mail network-scripts]# cat ifcfg-eth0

DEVICE=eth0       

HWADDR=00:0c:29:af:14:14    

TYPE=Ethernet   

ONBOOT=no

BOOTPROTO=static 

IPADDR= 192.168.1.100          

NETMASK=255.255.255.0    

GATEWAY= 192.168.1.1         

查看系统网卡信息

[root@mail network-scripts]# ifconfig -a

eth1      Link encap:Ethernet  HWaddr 00:0c:29:af:14:14
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:40350 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40350 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:32604075 (31.0 MiB)  TX bytes:32604075 (31.0 MiB)
问题原因

该问题是由于,网卡的MAC地址改变时,系统的/etc/udev/rules.d/目录内的70-persistent-net.rules文件会根据你的网卡的MAC地址重新新增MAC到对应的ethX名称上的规则,且原来的MAC地址对应的规则是不会自动被删除的。

编辑前 /etc/udev/rules.d/70-presistent-net.rules文件内容

# This file was automatically generated by the /lib/udev/write_net_rules

# program, run by the persistent-net-generator.rules rules file.

#                        

# You can modify it, as long as you keep each rule on a single

# line, and change only the value of the NAME= key.

# net device ()

SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:16:36:42:8d:bb", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# net device ()

SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0c:29:af:14:14", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1”

解决方法

1、删除/etc/udev/rules.d/目录内的70-persistent-net.rules文件重启系统。

2、网卡的配置文件最好都配置上HWADDR参数选项。

参考网址:

http://www.ichiayi.com/wiki/tech/udev

http://blog.youkuaiyun.com/gangban_lau/article/details/7209123

网卡名称被更改

网桥配置(两张网卡配置成网桥)

配置双网卡桥接需要安装网桥软件:

bridge-utils-1.2.10.el6.i686    #网桥rpm软件

brctl命令使用

[root@xenserver ~]# brctl --help   #查看brctl使用绑组

Usage: brctl  [commands]      #命令使用格式

commands:

addbr <bridge> add bridge      #新增网桥

delbr <bridge> delete bridge     #删除网桥

addif <bridge> <device> add interface to bridge  #将网卡添加至网桥

delif <bridge> <device> delete interface from bridge  #将网卡从网桥列表中删除

setageing <bridge> <time> set ageing time      #设置桥老化时间

setbridgeprio <bridge> <prio> set bridge priority  #设置桥的优先级

setfd <bridge> <time> set bridge forward delay   #设置桥的转发延时

sethello <bridge> <time> set hello time      #设置桥的hello时间

setmaxage <bridge> <time> set max message age  #设置消息最大生命周期

setpathcost <bridge> <port>< cost> set path cost  #设置路径开销

setportprio <bridge> <port>< prio> set port priority   #设置端口优先级

show show a list of bridges        #显示网桥列表

showmacs <bridge> show a list of mac addrs   #显示指定网桥的MAC地址

showstp <bridge> show bridge stp info      #显示网桥的STP信息

stp <bridge> {on|off} turn stp on/off       #打开/关闭STP

配置示例

将网卡eth0、eth1将其组建成一条网桥。

[root@mail network-scripts]#modprobe bridge    #加载bridge模块

[root@mail network-scripts]#ifconfig eth0 0.0.0.0

[root@mail network-scripts]#ifconfig eth1 0.0.0.0

[root@mail network-scripts]#brctl addbr bri0#新建网桥bri0/bri0为网桥名称,名称可自定义

[root@mail network-scripts]#brctl addif bri0 eth0#将eth0加入到bri0网桥中

[root@mail network-scripts]#brctl addif bri0 eth1 #将eth1加入到bri1网桥中

[root@mail network-scripts]#echo 1 > /proc/sys/net/ipvr/ip_forward#开启网卡转发功能

以上的配置,在重启系统后将丢失。

如想开机自动运行,则将以上命令编写成脚本

加载bridge模块可以:

将bridge  加入/etc/sysconfig/modules   自定加载配置文件中

或是

modprobe bridge >> /etc/rc.local   加入到开机自动运行的配置文件中

/proc/modules  已加载的模块文件

通过cat/proc/modules | grep bridge 可以查看是否加载了bridge模块

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值