本文整理匯總了Python中impacket.LOG.error方法的典型用法代碼示例。如果您正苦於以下問題:Python LOG.error方法的具體用法?Python LOG.error怎麽用?Python LOG.error使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類impacket.LOG
的用法示例。
在下文中一共展示了LOG.error方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: findKey
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def findKey(self, key):
# Let's strip '\' from the beginning, except for the case of
# only asking for the root node
if key[0] == '\\' and len(key) > 1:
key = key[1:]
parentKey = self.rootKey
if len(key) > 0 and key[0]!='\\':
for subKey in key.split('\\'):
res = self.__findSubKey(parentKey, subKey)
if res is not None:
parentKey = res
else:
#LOG.error("Key %s not found!" % key)
return None
return parentKey
示例2: login
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def login(self, user, password, domain = '', lmhash = '', nthash = '', ntlmFallback = True):
"""
logins into the target system
:param string user: username
:param string password: password for the user
:param string domain: domain where the account is valid for
:param string lmhash: LMHASH used to authenticate using hashes (password is not used)
:param string nthash: NTHASH used to authenticate using hashes (password is not used)
:param bool ntlmFallback: If True it will try NTLMv1 authentication if NTLMv2 fails. Only available for SMBv1
:return: None, raises a Session Error if error.
"""
self._ntlmFallback = ntlmFallback
try:
if self.getDialect() == smb.SMB_DIALECT:
return self._SMBConnection.login(user, password, domain, lmhash, nthash, ntlmFallback)
else:
return self._SMBConnection.login(user, password, domain, lmhash, nthash)
except (smb.SessionError, smb3.SessionError), e:
raise SessionError(e.get_error_code())
示例3: queryInfo
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def queryInfo(self, treeId, fileId):
"""
queries basic information about an opened file/directory
:param HANDLE treeId: a valid handle for the share where the file is to be opened
:param HANDLE fileId: a valid handle for the file/directory to be closed
:return: a smb.SMBQueryFileBasicInfo structure. raises a SessionError exception if error.
"""
try:
if self.getDialect() == smb.SMB_DIALECT:
res = self._SMBConnection.query_file_info(treeId, fileId)
else:
res = self._SMBConnection.queryInfo(treeId, fileId)
return smb.SMBQueryFileStandardInfo(res)
except (smb.SessionError, smb3.SessionError), e:
raise SessionError(e.get_error_code())
示例4: transactNamedPipe
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def transactNamedPipe(self, treeId, fileId, data, waitAnswer = True):
"""
writes to a named pipe using a transaction command
:param HANDLE treeId: a valid handle for the share where the pipe is
:param HANDLE fileId: a valid handle for the pipe
:param string data: buffer with the data to write
:param boolean waitAnswer: whether or not to wait for an answer
:return: None, raises a SessionError exception if error.
"""
try:
return self._SMBConnection.TransactNamedPipe(treeId, fileId, data, waitAnswer = waitAnswer)
except (smb.SessionError, smb3.SessionError), e:
raise SessionError(e.get_error_code())
示例5: writeNamedPipe
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def writeNamedPipe(self, treeId, fileId, data, waitAnswer = True):
"""
writes to a named pipe
:param HANDLE treeId: a valid handle for the share where the pipe is
:param HANDLE fileId: a valid handle for the pipe
:param string data: buffer with the data to write
:param boolean waitAnswer: whether or not to wait for an answer
:return: None, raises a SessionError exception if error.
"""
try:
if self.getDialect() == smb.SMB_DIALECT:
return self._SMBConnection.write_andx(treeId, fileId, data, wait_answer = waitAnswer, write_pipe_mode = True)
else:
return self.writeFile(treeId, fileId, data, 0)
except (smb.SessionError, smb3.SessionError), e:
raise SessionError(e.get_error_code())
示例6: readNamedPipe
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def readNamedPipe(self,treeId, fileId, bytesToRead = None ):
"""
read from a named pipe
:param HANDLE treeId: a valid handle for the share where the pipe resides
:param HANDLE fileId: a valid handle for the pipe
:param integer bytesToRead: amount of data to read
:return: None, raises a SessionError exception if error.
"""
try:
return self.readFile(treeId, fileId, bytesToRead = bytesToRead, singleCall = True)
except (smb.SessionError, smb3.SessionError), e:
raise SessionError(e.get_error_code())
示例7: putFile
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def putFile(self, shareName, pathName, callback, shareAccessMode = None):
"""
uploads a file
:param string shareName: name for the share where the file is to be uploaded
:param string pathName: the path name to upload
:param callback callback:
:return: None, raises a SessionError exception if error.
"""
try:
if shareAccessMode is None:
# if share access mode is none, let's the underlying API deals with it
return self._SMBConnection.stor_file(shareName, pathName, callback)
else:
return self._SMBConnection.stor_file(shareName, pathName, callback, shareAccessMode)
except (smb.SessionError, smb3.SessionError), e:
raise SessionError(e.get_error_code())
示例8: rename
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def rename(self, shareName, oldPath, newPath):
"""
renames a file/directory
:param string shareName: name for the share where the files/directories are
:param string oldPath: the old path name or the directory/file to rename
:param string newPath: the new path name or the directory/file to rename
:return: True, raises a SessionError exception if error.
"""
try:
return self._SMBConnection.rename(shareName, oldPath, newPath)
except (smb.SessionError, smb3.SessionError), e:
raise SessionError(e.get_error_code())
示例9: reconnect
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def reconnect(self):
"""
reconnects the SMB object based on the original options and credentials used. Only exception is that
manualNegotiate will not be honored.
Not only the connection will be created but also a login attempt using the original credentials and
method (Kerberos, PtH, etc)
:return: True, raises a SessionError exception if error
"""
userName, password, domain, lmhash, nthash, aesKey, TGT, TGS = self.getCredentials()
self.negotiateSession(self._preferredDialect)
if self._doKerberos is True:
self.kerberosLogin(userName, password, domain, lmhash, nthash, aesKey, self._kdcHost, TGT, TGS, self._useCache)
else:
self.login(userName, password, domain, lmhash, nthash, self._ntlmFallback)
return True
示例10: __init__
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def __init__(self, error_string=None, error_code=None, packet=None):
"""
:param string error_string: A string you want to show explaining the exception. Otherwise the default ones will be used
:param integer error_code: the error_code if we're using a dictionary with error's descriptions
:param NDR packet: if successfully decoded, the NDR packet of the response call. This could probably have useful
information
"""
Exception.__init__(self)
self.packet = packet
self.error_string = error_string
if packet is not None:
try:
self.error_code = packet['ErrorCode']
except:
self.error_code = error_code
else:
self.error_code = error_code
示例11: getData
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def getData(self, soFar = 0):
data = ''
soFar0 = soFar
for fieldName, fieldTypeOrClass in self.structure:
try:
if self.isNDR(fieldTypeOrClass) is False:
# If the item is not NDR (e.g. ('MaximumCount', '<L=len(Data)'))
# we have to align it
pad = self.calculatePad(fieldTypeOrClass, soFar)
if pad > 0:
soFar += pad
data += '\xca'*pad
res = self.pack(fieldName, fieldTypeOrClass, soFar)
data += res
soFar = soFar0 + len(data)
except Exception, e:
LOG.error(str(e))
LOG.error("Error packing field '%s | %s' in %s" % (fieldName, fieldTypeOrClass, self.__class__))
raise
示例12: fromString
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def fromString(self, data, soFar = 0):
soFar0 = soFar
for fieldName, fieldTypeOrClass in self.commonHdr+self.structure:
try:
# Are we dealing with an array?
if isinstance(self.fields[fieldName], NDRUniConformantArray) or isinstance(self.fields[fieldName],
NDRUniConformantVaryingArray):
# Yes, get the array size
arraySize, advanceStream = self.getArraySize(fieldName, data, soFar)
self.fields[fieldName].setArraySize(arraySize)
soFar += advanceStream
data = data[advanceStream:]
size = self.unpack(fieldName, fieldTypeOrClass, data, soFar)
# Any referent information to unpack?
if isinstance(self.fields[fieldName], NDRCONSTRUCTEDTYPE):
size += self.fields[fieldName].fromStringReferents(data[size:], soFar + size)
size += self.fields[fieldName].fromStringReferent(data[size:], soFar + size)
data = data[size:]
soFar += size
except Exception,e:
LOG.error(str(e))
LOG.error("Error unpacking field '%s | %s | %r'" % (fieldName, fieldTypeOrClass, data[:256]))
raise
示例13: process_interface
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def process_interface(self, data):
objRefType = OBJREF(data)['flags']
objRef = None
if objRefType == FLAGS_OBJREF_CUSTOM:
objRef = OBJREF_CUSTOM(data)
elif objRefType == FLAGS_OBJREF_HANDLER:
objRef = OBJREF_HANDLER(data)
elif objRefType == FLAGS_OBJREF_STANDARD:
objRef = OBJREF_STANDARD(data)
elif objRefType == FLAGS_OBJREF_EXTENDED:
objRef = OBJREF_EXTENDED(data)
else:
LOG.error("Unknown OBJREF Type! 0x%x" % objRefType)
if objRefType != FLAGS_OBJREF_CUSTOM:
if objRef['std']['flags'] & SORF_NOPING == 0:
DCOMConnection.addOid(self.__target, objRef['std']['oid'])
self.__iPid = objRef['std']['ipid']
self.__oid = objRef['std']['oid']
self.__oxid = objRef['std']['oxid']
if self.__oxid is None:
objRef.dump()
raise
示例14: enumerateMethods
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def enumerateMethods(iInterface):
methods = dict()
typeInfoCount = iInterface.GetTypeInfoCount()
if typeInfoCount['pctinfo'] == 0:
LOG.error('Automation Server does not support type information for this object')
return {}
iTypeInfo = iInterface.GetTypeInfo()
iTypeAttr = iTypeInfo.GetTypeAttr()
for x in range(iTypeAttr['ppTypeAttr']['cFuncs']):
funcDesc = iTypeInfo.GetFuncDesc(x)
names = iTypeInfo.GetNames(funcDesc['ppFuncDesc']['memid'], 255)
print names['rgBstrNames'][0]['asData']
funcDesc.dump()
print '='*80
if names['pcNames'] > 0:
name = names['rgBstrNames'][0]['asData']
methods[name] = {}
for param in range(1, names['pcNames']):
methods[name][names['rgBstrNames'][param]['asData']] = ''
if funcDesc['ppFuncDesc']['elemdescFunc'] != NULL:
methods[name]['ret'] = funcDesc['ppFuncDesc']['elemdescFunc']['tdesc']['vt']
return methods
示例15: __init__
# 需要導入模塊: from impacket import LOG [as 別名]
# 或者: from impacket.LOG import error [as 別名]
def __init__(self,data):
# Depending on the type of data we'll end up building a different struct
dataType = unpack('<H', data[4:][:2])[0]
self.structure = self.fixed
if dataType == CATALOG_TYPE_TABLE:
self.structure += self.other + self.table_stuff
elif dataType == CATALOG_TYPE_COLUMN:
self.structure += self.column_stuff
elif dataType == CATALOG_TYPE_INDEX:
self.structure += self.other + self.index_stuff
elif dataType == CATALOG_TYPE_LONG_VALUE:
self.structure += self.other + self.lv_stuff
elif dataType == CATALOG_TYPE_CALLBACK:
LOG.error('CallBack types not supported!')
raise
else:
LOG.error('Unknown catalog type 0x%x' % dataType)
self.structure = ()
Structure.__init__(self,data)
self.structure += self.common
Structure.__init__(self,data)