毕设学习笔记 2022-1-11 至2022-1-17

笔记

1.用docker虚拟网络 ping host主机。
(1).主机ip为192.168.101.22
毕设学习笔记 2022-1-11 至2022-1-17
(2).能ping通。
毕设学习笔记 2022-1-11 至2022-1-17

2.上周遗留的ping www.baidu.com的问题。
(1).按照教程修改/etc/resolv.conf文件,加两行

nameserver 8.8.8.8
nameserver 114.114.114.114

毕设学习笔记 2022-1-11 至2022-1-17

(2).修改完之后就可以ping通百度了。是DNS解析问题。
毕设学习笔记 2022-1-11 至2022-1-17

3.学习使用tcpdump抓包。阅读文章《linux下如何使用 tcpdump 进行抓包详细教程》,自己尝试用tcmpdump抓包,遇到了很多问题。
毕设学习笔记 2022-1-11 至2022-1-17
毕设学习笔记 2022-1-11 至2022-1-17
4.开放容器端口。
(1)配置DNAT 规则。这一步在make create-nat里已经配置好了。
(2)在 net1 环境中启动一个 Server
毕设学习笔记 2022-1-11 至2022-1-17
(3)外部选一个ip,telnet连一下试试。这一步没做,因为不知道要telnet什么ip。。。。(在Try and failure里详细写)

Try and failure

1)在ping www.baidu.com这个问题的时候,尝试用gedit去修改/etc/resolv.conf文件,结果安装完command后又自动安装可视化界面(gedit是可视化的编辑器)。

已解决:直接用vim修改了,之后就可以ping通了。

2)学习使用tcpdump抓包的时候,等了很久都没有出现抓包出来的数据,以为是抓不到包,非常痛苦。

已解决:经过非常漫长的等待,终于出现了数据,原来是因为抓包得很慢?

3)(未解决)学习使用tcpdump抓包的时候,想抓包目的 IP为我手机的数据查看,用到的命令如下。经过漫长的等待,并没有抓包到任何东西。

sudo tcpdump dst 10.142.248.98

解决中:命令写错了,没有指定网关,应为

sudo tcmdumo -i enp0s9 dst 10.142.248.98

经过漫长的等待,还是没有抓包到东西。
毕设学习笔记 2022-1-11 至2022-1-17

4)(未解决 )按照《手工模拟实现 Docker 容器网络!》中指导的,抓包eth0,可以查看到源 IP 已经被替换成可和外网通信的 eth0 上的 IP 了。毕设学习笔记 2022-1-11 至2022-1-17
但是我抓包到的却是下图的数据,并没有替换。所以在接下来的"外部选一个ip,比如 10.143.., telnet 连一下 10.162.. 8088 试试,通了!",不知道该连哪个ip地址。。。。。
毕设学习笔记 2022-1-11 至2022-1-17

Q&A

1)了解SNAT的原理吗?

  • 答:SNAT在路由器后(PSOTROUTING)将内网的ip地址修改为外网网卡的ip地址,应用场景为共享内部主机上网,局域网访问互联网。目标地址不变,重新改写源地址,并在本机建立NAT表项,当数据返回时,根据NAT表将目的地址数据改写为数据发送出去时候的源地址,并发送给主机。源代码中用到的为
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -o br0 -j MASQUERADE
iptables -t nat -A PREROUTING  ! -i br0 -p tcp -m tcp --dport 8088 -j DNAT --to-destination 192.168.0.2:80

其中192.168.0.0/24为内部网段,这里的MASQUERADE为地址伪装,是snat中的一种特例,可以实现自动化的snat。

2)10.119.17.178 是谁的IP,host 又能够ping 通吗?

  • 答:是我手机的ip,当时拿来做测试的。host可以ping通。本地宿主机的ip地址是192.168.101.22,可以ping通.
    毕设学习笔记 2022-1-11 至2022-1-17

3)关于ping www.baidu.com报错的问题

  • 答:确认了是域名解析错误的问题,用vim修改了/etc/resolv.conf文件之后,可以ping通了。

4)能说说你在什么项目中用到了定时器吗?

  • 答:之前有用unity做过一个卡牌游戏,里面用到了倒计时定时器,但是忘记有没有用过hook了。
上一篇:c# – CAPTCHA的替代解决方案


下一篇:问题: ping: www.baidu.com: Name or service not known