这是我参与「第三届青训营 -后端场」笔记创作活动的的第3篇笔记
怕什么真理无穷,进一步有进一步的欢喜
开放外部用户访问
就是建设一个外部的网站,用于用户的访问
方案:
- 租赁一个公网IP用于给客户访问,为了方便用户访问,需要设置域名供访问
- 将
www.example.com解析到公网的ip,绑定ip到一台物理机上- 发布公网
route,用于外部用户进行访问
自建DNS服务器
问题背景
- 内网域名解析要出公网获取,效率低下
- 容易被黑客攻击
- 云厂商权威DNS易出故障,影响体验
DNS抓包演示
Linux下tcpdump抓取DNS包
既然说到了DNS,那么演示一下抓包,在Linux下使用tcpdump进行抓包
下面部分出自 本人在另一网站的历史文章,非拷贝他人
参数讲解
使用
tcpdump工具进行DNS包的抓取,我们制定的参数:
- -i eth0 指定我们的网卡
- -n 按照IP地址和端口的数字形式进行输出
- -s 我们制定抓取数据包的Size
- port domain 指定域名服务
抓包流程
先开启左边的抓包, 然后我们使用
host查询域名为www.baidu.com的对应的IP地址是啥
抓包结果
我们可以使用
cat /etc/resolv.conf查看本地DNS服务器
IP表示我们的数据是IP数据报,其中172.16.106.212是我的主机,100....是本地的DNS服务器
+代表迭代查询,A就是我们查询的方式最后一行就是DNS服务器将得到的IP地址回送给我们
在Win下面使用WireShark抓包(Ping命令)
使用ping命令连通本局域网内的一台主机(本机:202.194.67.29, 目的主机:202.194.67.28),打开WireShark进行抓包
Q:icmp前是否是有arp?
A:有,因为本地将arp缓存全部清除,使用ping命令(icmp协议)输入的是IP地址,需要连接mac地址所以绝对会有arp协议提前询问
图示33条包为询问....28的mac地址是啥& 请告诉。。。29
图示34条包为回答.....28的mac地址是啥
请求arp的显示(29询问28):
询问28的mac地址需要在本局域网内部进行广播,因此Address:ff:ff:ff:ff:ff:ff
进行广播 查询,Message:who has ip ...28
回复arp显示(28回复29)
28收到了arp请求,那么将自身的ip发送给29,Des为29的mac地址
上面介绍了服务开放的一些事项,主要是将抓包进行分析网络报文的,共勉