socket编程 模拟HTTP协议GET请求实例—获取ip物理地址【增强版】

与上例不同之处在于:
1、简单判断命令行中的是ipv4还是ipv6地址
2、支持ipv4与ipv6两种地址查询,ipv4还是抓取ip38.com网页,ipv6抓取ipv6.ipv6home.cn网页
3、在发出GET请求后简单地对服务器返回状态作判断(200)
4、使用新的行读取函数来按行读取服务器返回的数据

下面放上ipv4和ipv6的请求头

ipv4请求头
GET /index.php?ip= HTTP/1.1
Host: ip38.com
Content-Type: text/html
Connection: close

ipv6请求头
GET /ip/?ip= HTTP/1.1
Host: ipv6.ipv6home.cn
Content-Type: text/html
Connection: close

为要查询的ip地址(ipv4/6)
下面上代码

做个测试看看
ipv4地址的还是用百度公司的地址来看看吧
./query_ip_addr 123.125.114.144
查询结果:北京市 百度公司

ipv6的用下北大的做测试吧
./query_ip_addr 2001:da8:201:1100:8634:97ff:fe86:7add
北京市 北京大学

另外上两个使用shell编写的同等功能的ipv4和ipv6物理地址查询脚本

ipv4:

ipv6:

可见一行脚本的功能得用多少c语言代码码出来啊!

–阅读次数(70)

发表评论

电子邮件地址不会被公开。

*