任何人都遇到此事:
更新DNS记录后..我对'test.somedomain.com'进行挖掘,得到167.69.143.234,但是当我执行socket.gethostbyname('test.somedomain.com')时,我得到167.69.6.234.
我猜socket仍在使用缓存......我该如何清除它?还是冲洗它?
我的代码非常简单:
Linux Termianl
dig test.somedomain.com
Run Code Online (Sandbox Code Playgroud)
蟒蛇:
import socket
socket.gethostbyname('test.somedomain.com')
Run Code Online (Sandbox Code Playgroud)
它应该返回167.69.143.234地址,因为它是DNS中更新的地址.
因此,我们在正在运行的 SLB 上启用了 X-Forwarded-For,并且我通过此处的链接获得了正确的日志记录,该链接说要使用此 SetEnvIF 语句。
我们遇到的问题是,SLB 还通过 GET /health.html 文件每 5 秒检查一次,该文件正在填满我们的日志。我能够找到一种方法让 apache2 停止记录特定文件,但是我似乎无法找到同时执行 X-Forward-For 和不记录特定文件的方法。
这是我的最后一次尝试,当时我读到一篇博客说你可以使用多个 Env 并用一个 ',' 分隔它们,这并没有 :(。
#logs
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
SetEnvIf Request_URI "^/health\.html$" dontlog
CustomLog "/www/logs/access.log" combined env=!forwarded,!dontlog
CustomLog "/www/logs/access.log" proxy env=forwarded
Run Code Online (Sandbox Code Playgroud)
我感谢大家的帮助。
感谢您的时间。
我正在学习如何使用 python dns 对象。我看到许多示例的快速问题显示了使用 DNS 记录类型(CNAME、NS 等)的 dns.resolver 方法的方法。有没有办法使用这个 dns 对象来查询 DNS 名称并使用记录类型提取它的解析。类似于 DIG 在答案部分提供的内容。
谢谢,
吉姆
我一直在读stuct.pack和hex等等.
我试图将小数转换为2字节的十六进制.反转十六进制位顺序,然后将其转换回十进制.
我正在尝试按照这些步骤...在python中
Convert the decimal value **36895** to the equivalent 2-byte hexadecimal value:
**0x901F**
Reverse the order of the 2 hexadecimal bytes:
**0x1F90**
Convert the resulting 2-byte hexadecimal value to its decimal equivalent:
**8080**
Run Code Online (Sandbox Code Playgroud)