滲透測試做資訊收集時候,需要爬取同**ip的其他站點,進行滲透
**是python3寫的,儲存檔案格式為csv
# coding=utf-8
import requests
from bs4 import beautifulsoup
import csv
defbanner()
:print
('*'*51
)print
('*'*3
+' '*9
+'ip反查網域名稱工具 by:yang'
+' '*13
+'*'*3
)print
('*'*51
)def
gethtml
(url)
: headers =
# print(r.text)
try:
r = requests.get(url, headers=headers, timeout=5)
return r.text # 取文字資料可以通過response.text
except
:print
("訪問失敗"
) exit(
)def
writetocsv
(filepath, sj)
:#開啟乙個檔案
#a+:開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
with
open
(filepath,
"a+"
, newline="")
as f:
f_csv = csv.writer(f)
f_csv.writerow(
tuple
(sj)
)def
getsj
(url, filepath)
: html = gethtml(url)
#html=爬到的文字資料
soup = beautifulsoup(html,
"html5lib"
)#直譯器,解析成html
# """
# 查詢出body標籤》div標籤中class=dns-wrap標籤》div標籤中class=dns-content 標籤》table>tbody標籤,第1個列表中查詢tr標籤
# 再查詢出所有tr標籤
# """
ls = soup.select(
"body > div[class='dns-wrap'] > div.dns-content > table > tbody")[
0].find_all(
"tr"
) n =
len(ls)
#tr標籤的數量(閉合)
for m in
range(0
, n)
: tr = ls[m]
#取出第m個tr標籤
# 找class=domain的標籤第乙個列表,再篩選出text文字,然後剔除空格
# 取出domain
try:
keyword = tr.find_all(class_=
"domain")[
0].get_text(
).strip(
)except
:print
("採集完成"
)print
("csv路徑:"
+ filepath)
exit(
)# 取出標題,形成列表
sj =
[ele.get_text(
).strip(
)for ele in tr.find_all(class_=
"title")]
# print(sj)
# 把keyword網域名稱插入到sj標題後面,也就是第乙個(0)後面,拼接成列表
sj.insert(
0, keyword)
k = sj[0]
v = sj[1]
print
(v +
':'+ k)
writetocsv(filepath, sj)
# print("%s done" % m)
defmain()
: banner(
) filepath =
"d:/1.csv"
# 結果檔案匯出位址
url =
input()
print
('-'
*100
)for n in
range(1
,51):
url =
""+ url +
"/{}/"
.format
(n)# ***x.com 換成查詢位址
getsj(url, filepath)
print
("第"
+"%s 頁完成收集"
% n)
print
('-'
*100
)if __name__ ==
'__main__'
:#當檔案被別人呼叫時候,不會執行main()函式,只有自己啟動才會執行main()
main(
)
ip反查網域名稱指令碼實現
此指令碼基於對ip138 愛站 中國站長三個反查網域名稱 上的資訊進行爬取 使用到了fake useragent模組 安裝命令pip3 install fake useragent 指令碼如下 import re,time,requests from fake useragent import us...
python ip反查詢 利用ip反查指定網域名稱
1.利用ip反查指定網域名稱 python usr bin python2.7 coding utf 8 import urllib,urllib2 import re import subprocess import sys output def html html print str respo...
用IP位址反查主機名
通過ping命令,既可以獲取到該機器的主機名,又可以獲取它的ip位址。除了上面這種方法之外,還可以通過另外乙個dos命令來獲取乙個機器的主機名 nbtstat nbtstat命令 用於檢視當前基於netbios的tcp ip連線狀態,通過該工具你可以獲得遠端或本地機器的組名和機器名。雖然使用者使用網...