我是python新手,我正在尝试使用python库pyrad (https://github.com/wichert/pyrad) 实现一个非常简单的Radius服务器来测试一个应用程序。 它唯一要做的就是检查密码是否等于123。 我能得到密码,但它是模糊的。我需要把它弄清楚。 pyrad->;packet->;AuthPacket内部有一个名为pwdextract的方法。 用来完成这个任务的。 我的问题是,我不知道如何在代码中调用这个方法,正如我所说的,我是Python新手。在
这是我用来测试并获取混淆密码的代码:
#!/usr/bin/python
from __future__ import print_function
from pyrad import dictionary, packet, server
import logging
logging.basicConfig(filename="pyrad.log", level="DEBUG",
format="%(asctime)s [%(levelname)-8s] %(message)s")
class FakeServer(server.Server):
def _HandleAuthPacket(self, pkt):
server.Server._HandleAuthPacket(self, pkt)
print("")
print("Received an authentication request")
print("Attributes: ")
for attr in pkt.keys():
print("%s: %s" % (attr, pkt[attr]))
###########################################
###########################################
###########################################
###########################################
#HERE I GET THE OBFUSCATED PASSWORD
print("%s" % pkt['Password'])
###########################################
###########################################
###########################################
###########################################
reply = self.CreateReplyPacket(pkt, **{
"Service-Type": "Framed-User",
"Framed-IP-Address": '10.10.10.10',
"Framed-IPv6-Prefix": "fc66::1/64"
})
#reply.code = packet.AccessAccept
reply.code = packet.AccessChallenge
#reply.code = packet.AccessReject
self.SendReplyPacket(pkt.fd, reply)
if __name__ == '__main__':
# create server and read dictionary
srv = FakeServer(dict=dictionary.Dictionary("dictionary"))
# add clients (address, secret, name)
srv.hosts["192.168.0.110"] = server.RemoteHost("192.168.0.110", b"secret", "192.168.0.110")
srv.BindToAddress("")
# start server
srv.Run()
谢谢
我的朋友帮我解决了这个问题。在
这两种方法可以满足我的需要:
相关问题 更多 >
编程相关推荐