L'ID de contrôle d'application de FortiGate est publié sur fortiguard.com, mais il n'est pas affiché dans la liste. .. .. Il devrait y avoir un certain nombre de personnes qui veulent une liste avec csv, comme lors du chargement d'informations dans le collecteur de flux.
Vous pouvez obtenir la liste à partir de la CLI à l'aide de la commande suivante.
config application list
edit default
config entries
edit 1
# set application ?
Si vous entrez ?, Il sera affiché, mais comme l'application prise en charge est différente en fonction de l'appareil, j'aimerais obtenir toutes les données de fortiguard.com si possible.
J'ai créé mon propre outil avec python.
pip install beautifulsoup4 lxml requests
import requests
import csv
import re
import time
from bs4 import BeautifulSoup
s = requests.Session()
url = 'https://fortiguard.com/appcontrol'
get_url_info = s.get(url)
bs4Obj = BeautifulSoup(get_url_info.text, 'lxml')
result = bs4Obj.find('div', class_='sidebar-content')
appids = int(re.findall('[0-9]+', result.find('a').get_text().replace(',', ''))[0])
perPage = int(len(bs4Obj.find_all('div', class_='title')))
if appids % perPage == 0:
pages = int(appids // perPage)
else:
pages = int(appids // perPage) + 1
i = 1
datas = []
url_base = 'https://fortiguard.com/appcontrol?deepapp=&page='
while pages + 1 > i:
print('page:', i, '/', pages)
url = url_base + str(i)
try:
get_url_info = s.get(url)
bs4Obj = BeautifulSoup(get_url_info.text, 'lxml')
app_list = bs4Obj.find_all('div', class_='title')
if len(app_list) == 0:
continue
except Exception as e:
print(e)
time.sleep(1)
continue
j = 0
while True:
try:
app_name = str(app_list[j].find('a').get_text())
app_num = int(re.findall('[0-9]+', app_list[j].find('a').get('href'))[0])
data = [app_num, app_name]
datas.append(data)
j += 1
except:
break
i += 1
print('result:', len(datas), '/', appids)
with open('appid.csv', 'w') as file:
writer = csv.writer(file, lineterminator='\n')
writer.writerows(sorted(datas))
J'ai téléchargé le même code sur Github. https://github.com/Connie-Wild/FortiOS_AppControlID Eh bien!