Linux主机联网:ifcofnig,route,netstat,ip,ss
别名、主机名、接口命名
网络客户端工具命令: ftp,lftp,wget,lftpget
nmap,ncat,tcpdump工具
nmcli,nmtui <没有CentOS 7 不能使用。。以后在补>
Linux主机联网
1、配置IP
2、配置ROUTE
3、配置DNS
配置方式
1、命令行:立即生效,重启失效
2、配置文件
3、图形接口
配置方式
1、命令行配置: 配置在内核中的内存地址中,下次重启失效
1)ifcfg家族,ip家族
显示接口
显示启动# ifconfig
显示启用和禁用# ifconfig -a , ip addr show
显示指定接口# ifconfig IFACE , ip addr show [ dev IFACE|up ]
启动或停止指定接口# ifconfig IFACE up|down, ip link set up|down
配置接口属性: ifconfig metric N | [-]promise | mtu N
配置接口地址
修改地址:ifconfig IFACE address
附加地址: ip addr add address dev IFACE [broadcat|label|scope STRING]
删除地址: ip addr del address
查看地址: ip addr show|flush [ dev IFACE ] [label|scope|to STRING] [primary | secondary]
scope:默认global,host(只与主机通信),link(只响应与当前接口的ping)
显示路由: route -n , netstat -rn, ip route show|flush [dev|src|via STRING]
添加路由:
route add -host|-net address gw GW dev NAME [ metric N ]
ip route add address via GW dev NAME [ src ADDRESS ]
删除路由
route del address
ip route del address
网络状态查看工具
-t tcp
-u udp
-w raw
-l listen
-a all
-p pid/program
-e extend user,inode
-n numeric 默认将ip反解为名字
ss: -m momery , -o state TCP-STATE [EXPRESSION]
netstat: -i , -I<dev>
DNS测试:
dig -t A FQDN
host -t A FQDN
dig -x IP
host -t PTR IP
2)nmcli
2、编辑配置文件配置: 永久有效
/etc/sysconfig/network-scripts/ifcfg-NAME
DEVICE 同IFACE
HWADDR MAC地址
ONBOOT 系统启动时是否激活此设备
BOOTPROTO 设备启动时的引导协议
PEERDNS 如果BOOTPROTO为dhcp协议,是否让dhcp服务器分配的dns服务器覆盖本地的/etc/resolv.conf文件
USERCTL 是否允许普通用户启动此设备,(user:是否允许普通用户挂载此设备)
IPADDR,NETMASK,GATEWAY,DNS1,DNS2,DNS3
/etc/sysconfig/network-scripts/route-NAME
address via GW
ADDRESS#=
NETMASK#=
GATEWAY#=
/etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
3、图形接口配置
system-config-network-tui(setup)
nmtui
单个网卡多个地址
ifconfig eth0:0 address [ up | down ]
ip addr add address dev IFACE label LABEL [broad|scope STRING]
配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0:0
UUID省略,HWADDR省略,BOOTPROTO=static (不能动态分配IP给别名)
图形配置: nmtui,system-config-network-tui
主机名:
hostname HOSTNAME
配置文件: /etc/sysconfig/network
网卡接口命名
/etc/udev/rules.d/70-persistent-net.rules
网络客户端工具命令: ftp,lftp,wget,lftpget
ftp命令 ,lftp命令 命令行客户端的交互式工具
wget命令,lftpget命令 ftp命令行客户端的非交互式工具
1、挂载光驱,配置yum源
# mount -r /dev/cdrom /media/cdrom
# vim /etc/yum.repos.d/CentOS-Local.repo
[CentOS6]
name=CentOS 6.1
failovermethod=priority
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
2、安装lftp,ftp工具
# dnf -q -y install lftp ftp
lftp命令
lftp [ -u user[,password] ] [ -p port 默认21] site
轻量的文件传输工具
1、支持命令行补全
2、支持glob通配符
3、lftpget命令是调用lftp命令完成下载
lftp内置命令:
1、帮助:help
2、下载:get,mget
3、切换目录:cd
4、以ls -l格式显示内容: ls
5、本地切换: lcd
6、!cmd
ftp命令
1、用法同lftp
2、不支持命令补全
wget命令
wget [OPTIONS...] URL
-P DIR 保存的路径
-O filepath 保存的位置及名字
-c 断点续传
# wget -c URL
-q 静默
--limit-rate=20k 限制带宽
-i file 从文件读取URL,批量下载
nmap,ncat,tcpdump工具
nmap命令
作用:主机发现、端口发现/枚举、服务发现、操作系统版本及硬件探测
root身份,默认以TCP SYN(-sS)方式扫描,半开放扫描
nmap 选项 地址定界
选项
-sL 扫描主机列表
# nmap -sL 192.168.1.1/24
-exclude IP/FILE 排除IP或文件中的IP
# nmap -sL 192.168.1.1/24 -excude 192.168.1.2
-p#,#,# 扫描端口
nmap -p22,80 192.168.1.1/24
-sS TCP SYN默认半开放扫描,2次握手,强行断开,对方主机根本不会记录
-sT 建立一次TCP连接,会进行3次,4次断开
-sU 扫描UDP端口,返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的。
-sF FIN包发送进行扫描(避免防火墙阻止syn扫描)
-sP 以ping的方式发现主机是否存在。ping HOST
-sV 扫描version。不扫描开放的端口,仅在扫描端口后,得知开放端口,并对开放的端口进行扫描,扫描开放端口对应的软件程序
-sL HOST 隐藏原IP
-O 扫描目标主机的操作系统
-PN 避免远程防火墙阻止ping,禁止ping操作
地址定界
1、FQDN
# nmap www.baidu.com
2、IP
# nmap 192.168.1.2
3、网络
# nmap 192.168.3.0/24
4、范围
# nmap 192.168.1.1-192.168.1.100
5、文件中的列表
# nmap -iL /PATH/TO/SOMEFILE
ncat命令
默认ncat为连接模式,tcp
连接模式和监听模式
连接模式:ncat作为客户端.连接host、Post. host必须提供,Port默认为31337
ncat host port
监听模式:服务端.host/post作为服务器绑定。默认host为所有地址。默认port为31337
ncat [options] host port
-l listen 监听
-m --max-conns NUM 访问ncat的最大并发数
-k --keep-open 在Listen模式中支持并发访问
-c , --sh-exec <command> 执行命令
--allow HOST 访问控制,只允许被给出的HOST访问ncat
A和B交流
Server A: # ncat -l 8888
Client B:# ncat 192.168.1.1 8888
A和B传输文件
Server A:# ncat -l 8888 < file.txt
Client B:# ncat 192.168.1.1 > file.txt
Server A:# ncat -l 8888 > file.txt
Client B:# ncat 192.168.1.1 < file.txt
A和B传输目录
Server A:# tar cf - dir | ncat -l 8888
Client B:# ncat 192.168.1.1 8888 | tar xf -
节约带宽:
Server A:# tar cf - dir | xz -q -9 | ncat -l 8888
Client B:# ncat 192.168.1.1 8888 | tar Jxf -
A和B传输加密
Server A:# nc localhost 1567 | mcrypt –flush –bare -F -q -d -m ecb > file.txt
Client B:# mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l 1567
视频流
server 读文件 重定向至 ncat : cat file.avi | ncat -l 8888
client 从socket读数据 重定向至mplayer ncat 192.168.1.1 8888 | mplayer -vo x11 -cache 3000 -
克隆
dd if=/dev/sda | ncat -l 8888
ncat 192.168.1.1 8888 | dd of=/dev/sda
tcpdump命令
dump the traffice on a network
显示捕获数据包内容
-i IFACE
-l 缓冲输出行
-n 默认将数据转换为名字,numeric
-N 不打印完全限定域名的完整格式. Lcc.org只会显示 lcc
-p 不将接口处于混杂模式
-q 输出更少的信息
-v,-vv 输出更为详细的信息
-tt 打印未格式化的时间
-w file 数据包保存至文件
src、dst、port、host、net、ether、gateway 过滤选项
src 源主机IP
dst 目标主机IP
port 端口
host 仅显示与host相关的信息
net 与网络相关
gateway 用于网关的主机
源码安装tcpdump
1、依赖libcap库安装
1、分析功能由哪个包所提供 [[email protected] tmp]# rpm -q --whatprovides libcap libcap-2.22-8.el7.x86_64 2、查看包是否安装 [[email protected] tmp]# rpm -q libcap libcap-2.22-8.el7.x86_64
2、编译环境: gcc,glibc,autoconf,automake
# tar xf tcpdump-1.2.3.tar.gz # cd tcpdump-1.2.3 # ./configure --prefix=/usr/local/tcpdump # make -j 4 # make install