以前有个方法,拿个笔记本电脑与设备级联然后wireshark进行抓包,发现同网段之前的其他ip然后又在2-224之间就可以确定了。
但是没有笔记本而且这个有个已知条件是知道这台设备开启了ftp于是写下一下代码来获取设备ip
from ftplib import FTP,error_perm
def main():
ftp_user = "test"
ftp_passwd = "123456"
ftp_host = []
for i in range (2,225):
ftp_host.append("192.168.0."+str(i))
print(ftp_host)
for ip in ftp_host:
ftp = None
try:
ftp = FTP(ip)
ftp.login(user=ftp_user, passwd=ftp_passwd)
print(ip)
except error_perm as e:
print(f"login failed:{e}")
except Exception as e:
print(f"occured a error:{e}")
finally:
if ftp:
ftp.quit()
if __name__ == '__main__':
main()
这个逻辑还是很好理解,遍历2-224,出现了就会登录成功