WiBroute

Форк
0
/
net_wrap.py 
45 строк · 1.6 Кб
1
import subprocess
2
# return list of all available Network-Device Names 
3
def interfacesList():
4
	return subprocess.check_output("ifconfig -a | sed 's/[ \t].*//;/^$/d'", shell=True).decode("utf-8")[:-1].split("\n")
5

6
def interfaceUp(interface="lo"):
7
	subprocess.run("ifconfig "+interface+" up", shell=True, check=True)
8

9
def interfaceDown(interface="lo"):
10
	subprocess.run("ifconfig "+interface+" down", shell=True, check=True)
11

12
def wifiList(interface="lo"):
13
	sysOut=subprocess.check_output("iwlist "+interface+" scan", shell=True).decode("utf-8")[:-1].split("Cell ")
14

15
	resultList=[]
16

17
	for cell in sysOut:
18
		cellDic={}
19
		
20
		for line in cell.split("\n"):
21
			if line.find("Address:")>=0:
22
				cellDic['Address']=line.split("Address: ")[1]
23
			elif line.find("Channel:")>=0:
24
				cellDic['Channel']=line.split("Channel:")[1]
25
			elif line.find("Frequency:")>=0:
26
				cellDic['Frequency']=line.split("Frequency:")[1]
27
			elif line.find("Signal level=")>=0:
28
				cellDic['Signal level']=line.split("Signal level=")[1]
29
			elif line.find("Encryption key:")>=0:
30
				cellDic['Encryption key']=line.split("Encryption key:")[1]
31
			elif line.find("ESSID:")>=0:
32
				cellDic['ESSID']=line.split("ESSID:")[1]
33
		if len(cellDic)>0:
34
			resultList.append(cellDic)
35
	return resultList
36
def tryConnect(ssid, password, interface):
37
	try:
38
		print()
39
		sysOut=subprocess.check_output("nmcli d wifi connect "+ssid+" password "+password.replace("!","\!").replace("\n","").replace("?","\?")+" iface "+ interface, shell=True).decode("utf-8")[:-1]
40
	except:
41
		return False
42
	if sysOut.find('successfully')>0:
43
		return True
44
	else:
45
		return False

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.