网络命令
配置ip
配置ip有两种方式
#方式一
#setup可以使用配置工具进行配置
setup
#方式二 linux服务器默认网卡配置文件的目录/etc/sysconfig/network-scripts,进行配置
网卡的配置文件类型
- ifcfg-ethX 有线网卡的配置文件,eth0表示第一块网卡,eth1表示第二块网卡,以此类推
- ifcfg-ethX:X 有线网卡的虚拟网卡的配置文件
- ifcfg-wlanX 无线网卡的配置文件
网卡配置文件中各行代表的含义
DEVICE="eth0" #物理设备名
BOOTPROTO=dhcp #IP 地址的获取方式[none|static|bootp|dhcp 分别是不使用协议|静态分配|BOOTP协议|DHCP协议]
TYPE=Ethernet #网卡类型
HWADDR= #MAC 地址
ONBOOT=yes #开机启动 [yes|no]
IPADDR= #Ip 地址
NETMASK= #子网掩码
GATEWAY= #网关地址
#配置完成后重启网卡
/etc/init.d/network restart
# 使用ifconfig来进行配置
# 查看 ip 信息
ifconfig
# 配置 eth0 的 IP 信息
ifconfig eth0 200.200.200.2 netmask 255.255.255.0
# 禁用网卡
ifdown eth0
# 启用网卡
ifup eth0
# 修改网卡 eth0 的 MAC 地址
ifconfig eth0 hw ether 00:11:22:33:44:55
配置完之后重启网络服务
service network restart
查看ip信息
ifconfig可以查看主机IP地址和其他一些关于网络接口的信息,相当于windows的ipconfig
ifconfig
ping
#ping [选项] ip
ping
------------------------
-c 次数
-b 对ip段进行广播
配置DNS
linux中DNS配置文件在/etc/resolv.conf
search bj.baidu.internal
nameserver 192.168.0.2 # 主DNS
nameserver 192.168.0.3 # 备DNS
options rotate timeout:1
netstat
查看网络状态,既可以查看本机开启端口,也可以查看有哪些客户端连接
#netstat [选项]
# 查看正在监听TCP(t)和UDP(u)的端口以及对应的进程
netstat -tunlp
# 查看路由表
netstat -rn
# 当前系统启动哪些端口
netstat -lnp
# 所有连接和端口
netstat -an
# 查看服务器的全部连接数 20 connections established 20个连接
netstat -st | grep conn
---------------------------
-a 列出网络状态
-c 每隔几秒刷新一次网络状态
-n 使用ip和端口号显示,不使用域名
-p 显示PID和程序名
-t 显示tcp协议连接状况
-u 显示udp协议连接状况
-l 仅显示监听状态的连接
-r 显示路由表
路由配置
使用route可以进行路由配置,使用netstat -r可以查看路由表,然后使用route可以增加或删除一条路由
# default gw localhost default为 默认路由 gw 后的ip表示的是网关的地址
route add default gw localhost
# 删除路由
route del default
域名解析
nslookup命令
nslookup显示某个指定域名的ip地址
远程登录
telnet命令
telnet可以进行远程登录
telnet [options] [host [port]]
-a 尝试自动登录
-l 指定登录用户
追踪路由
traceroute命令
traceroute可以查看经过的所有路由
traceroute 域名
抓包工具
# -nn 让第三列和第四列数据显示为IP+端口的形式,如果不使用-nn则显示主机名+服务名称
#-i后跟设备名称
tcpdump -nn -i eth0
#指定端口抓包
tcpdump -i eth0 tcp port 8080 -A -s 0
#指定端口抓包并存入文件
tcpdump -i eth0 tcp port 8080 -A -s 0 -w dump.txt
#指定域名抓包
tcpdump -i eth0 tcp and host zhhll.icu -A -s 0
netcat
可以用来做端口扫描与监听、文件传输
# 监听1234端口,并将数据输出到file文件中保存
netcat -l -p 1234 >file.txt
# 端口扫描192.168.1.109 的1到3000端口
# -z表示不发送任何数据到tcp连接
# -w表示扫描连接的超时时间
# -n表示尝试DNS解析
nc -v -n -z -w 1 192.168.1.109 1-3000
# 服务端开启端口,打开该端口来执行bash程序
nc -l -p 1234 -e bash
# 客户端进行远程连接
nc 192.168.1.109 1234
mtr
mtr集成了ping和traceroute,可以判断网络情况、查询具体在哪个环节丢包
mtr -r -c 10 -i 2