Linux 下设置代理:
export "http_proxy=http://[user]:[pass]@host:port/"
4.2.1 HTTP 代理服务器的工作原理
4.3 使用 tcpdump 抓取传输数据包
4.4 访问 DNS 服务器
tcpdump -i enp0s3 -s 2000 -nt '((src 192.168.0.105) or (dst 192.168.0.105) or arp ) and port !22'
1.squid 通过 /etc/resolv.conf 获取 dns 服务器 ip
2.将控制器交给内核的 udp 模块,udp 模块将 dns 查询报文封装成 udp 数据包,
同时将源端口和目标端口写入 udp 数据包头部, 然后 udp 调用 ip 模块
3.ip 模块将 udp 数据包封装成 ip 数据报,同时把源端 ip(192.168.1.108) 和
dns 服务器的 ip 地址加入 ip 数据报头部。
4.ip 模块查询路由表决定如何发送该 ip 数据报
5.如果 apr 中没有相应地址,还要发起 arp 广播
注意:
源ip, 目标ip( dns 服务器的 ip) 是不变的. 但 源 mac 地址和 目标 mac 地址一直在变.