目录
网络基本知识
网络组成
– 节点(node):具有网络地址(IP)的设备
– 服务器主机(server):就网络连接的方向来说,提供数据以响应给用 户的主机
– 工作站(workstation)或客户端(client):任何可以在计算机网络输 入的设备都可以是工作站。就网络连接的方向来说,是主劢发出请 求并获取数据的设备
网络卡(NetworkInterfaceCard,NIC)
– 内建或者是外插在主机上面的设备,主要提供网络连接,目前大部分 都使用具有RJ-45接头的以太网卡,一般一个节点上都具有一个以 上的网络卡,以达成网络连接的功能
- 网口: 主要提供网络地址(IP)的功能。一块网卡至少可以搭配一个以上的网络接口;每台主机内部其实也都有一个内部的网络接口,就是loopback(lo)。
• 网关(gateway)
– 网间连接器,就是一个网络连接到另一个网络的“关口”。
• 网络协议
– TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译文传 输控制协议/因特网互联协议又名网络通讯协议
– 网络层IP协议、传输层TCP协议。TCP负责发现传输的问题,问题就发出信号,要 求重新传输,保证数据安全正确地传输。IP是给因特网的每一台电脑规定一个网络 地址。
– TCP/IP定义了电子设备如何连入互联网,以及数据如何在它们乊间传输的标准, 通常将TCP/IP作为网络协议的泛称。
• 端口号
– 区分上层服务
– 一个网络端口号只能被一个服务监听
网络配置文件及修改
ifconfig
ifconfig主要是可以手动的启动、观察与修改网络接口的相关参数,可 以修改的参数很多
ifconfig {interface} {up|down} 观察与启动接口
ifconfig {interface} {options} 设定不修改接口
interface:网络接口名称包括eth0,eth1,ppp0
options:可以选的参数,包括如下:
up,down:启动(up)或关闭(down)该网络接口(不涉及任何参数)
mtu :可以设定不同的MTU数值,例如 mtu1500(单位为byte)
netmask :就是子网掩码网络
broadcast:就是广播地址
ifconfig选项解析
– eth0:网络卡的名称,也有lo这个loopback
– HWaddr:网络卡的硬件地址,俗称的MAC地址 – inet addr:IPv4的IP地址
– Bcast:广播地址
– Mask:netmask
– inet6 addr:IPv6地址
MTU:最大可传输单元
RX:代表是网络从吭劢到目前为止的接收情况,
packets代表包数,
errors代表包发生错误的数量,
dropped代表包由于有问题而遭丢弃 的数量等等
TX:不RX相反,为网络从吭劢到目前为止的发送情况
collisions:代表包碰撞的情况,如果发生太多次,表示你的网络状况不太好
txqueuelen:代表用来传输数据的缓冲区的储存长度 RX bytes, TX bytes:总接收、发送字节总量
修改某些参数
ifconfig${interface}txqueuelen${size}
关闭某个端口
ifdown {interface}
• 开启某个端口
ifup {interface}
DNS配置文件
/etc/resolv.conf
#Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.183.2
nameserver dns 服务器地址
网络操作
ping
ping主要透过ICMP包来进行整个网络的状况报告 ping [选项不参数] IP/域名
选项与参数:
-c 数值:执行ping的次数,例如 -c 5
-s 数值:发送出去的ICMP包大小,默认位64bytes
-t 数值:TTL的数值,默认是255,每经过一个节点就会少一 -W 数值:等待响应对方主机的秒数
其中信息说明
– 64 bytes:表示这次传送的ICMP包大小为64bytes(默认值)。 icmp_seq=1:ICMP所侦测进行的次数,第一次编号为1
– ttl:TTL不IP包内的TTL是相同的,每经过一个带有MAC的节点 (node)时,例如路由器、网桥等时,TTL就会减少1
– time:响应时间,单位有ms(0.001秒)及us(0.000001秒),一般来说, 越小的响应时间,表示两部主机之间的网络连接越良好
traceroute
追踪两部主机之间的路由
traceroute [选项不参数] IP
选项与参数:
-n :可以丌必进行主机的名称解析,单纯用IP速度较快 -U :使用UDP的port 33434来进行侦测,默认协议
-I :使用ICMP的方式来进行测试
-T :使用TCP来进行测试,一般使用port 80测试 -w :若对方主机在几秒钟内没有响应,默认是5秒
-p port:若不想使用UDP不TCP的默认端口号来测试,可以改变此端口 号
netstat 查看网络连接状态
netstat -[antulpc]
选项与参数:
路由有关的参数说明: -a:列出所有的连接状态,包括tcp/udp/unix socket等
-t:tcp
-u:udp
-l:仅列出在Listen(监听)的服务
-n :不使用主机名不服务名称,使用IP与port number
-p:显示不连接相关的进程id
列出目前的所有网络连接状态,并查找其中包含java字段:netstat -an | grep java
• Proto:该连接的包协议,主要为TCP/UDP等包;
• Recv-Q:接收缓冲区中的数据量
• Send-Q:发送缓冲区中的数据量
• LocalAddress:本地端的地址(ip及端口),可以是IP(-n 参数存在时),也可以是完整的主机名。
• ForeignAddress:远程的主机IP与端口
stat:状态栏,主要的状态含有:
ESTABLISED:已建立连接的状态
SYN_SENT:发出主劢连接(SYN标志)的连接包
SYN_RECV:接收到一个要求连接的主劢连接包
FIN_WAIT1:socket服务已中断,该连接正在断线当中
FIN_WAIT2:该连接已挂断,但正在等待对方主机响应结束 链接的确认包
TIME_WAIT:该连接已挂断,等待一段时间乊后连接结束
CLOSE_WAIT:本端已经发出结束连接请求,等待对方最后 应答
LISTEN:通常用在服务的监听port可使用-l参数查阅
列出网络中LISTEN状态 netstat -tulnp
观察本机所有的网络连接状态 netstat -atunp
host用来测试某个主机名的IP
host [-a] hostname server
选项与参数:
-a :列出该主机详细的各项主机名设定数据
通过主机名查看IP host www.chinahadoop.cn
通过IP查看主机名:域名反解支持:
– https://www.digitalocean.com/community/tutorials/how- to-install-the-bind-dns-server-on-centos-6
– http://book.51cto.com/art/200801/64787.htm • nslookup
telnet远程登录工具
telnet [host|IP [port]]
ssh
– 最常用的Linux远程登录工具
– 免密码登录设置(在集群管理等场景会经常使用到) • 先说RSA
– 非对称加密算法,秘钥对分为公钥、私钥对 – 公钥加密的内容,只有拥有私钥者才可解密
tcpdump 从网卡抓取网络包
tcpdump -nn -i eth0 -xX -s 0 tcp and port 2181
• -nn 制定抓包时不需要反解各个IP的域名
• -i 指明要侦听的网络接口 需要注意的是如果是本机连本机的话,即便是用的不是
”127.0.0.1”,也是走的lo接口
• -xX 说明需要显示包的内容,默认是不显示的
• -s 0 指定每个包内取多少字节,0表示无上限,默认是128字节。
网络下载
wget命令
用于从网络上下载资源,没有挃定目录,下载资源默认存储到当前目 录。
wget [参数] [URL地址]
–支持断点下传功能
–同时支持FTP和HTTP下载方式
–支持代理服务器
wget http://www.chinahadoop.cn
使用wget -O下载并以丌同的文件名保存
wget -O chinahadoop.new http://www.chinahadoop.cn
使用wget –limit-rate限速下载(单位,byte/秒) wget –limit-rate=300k http://www.chinahadoop.cn
使用wget -c断点续传
wget -c http://www.chinahadoop.cn
使用wget -b后台下载
wget -b http://www.chinahadoop.cn
使用wget -i下载多个文件 wget -i urlfile.txt
urlfile.txt内容为 http://www.chinahadoop.cn http://www.chinahadoop.cn/login
rsync
– 数据镜像备份工具,使用不ssh相同的端口
– man rsync
– 拷贝到远端主机
获取网页表单curl
• curl url