SoftLayer의 Python 라이브러리를 사용하여 자동 취약점 검색을 실행하려고합니다. 불행하게도 다음과 같은 예외가 발생합니다.SoftLayer 취약점 검사 Python
SoftLayerAPIError: SoftLayerAPIError(SoftLayer_Exception): Unable to create a new object of type SoftLayer_Network_Security_Scanner_Request_Nessus. Make sure the authentication method is correct.
아래에서 볼 수있는 코드를 볼 수 있습니다.
import SoftLayer
USERNAME="" # I put valid value in here
APIKEY="" # I put valid value in here
TARGET="" # I put valid value in here
client = SoftLayer.create_client_from_env(
username=USERNAME,
api_key=APIKEY
)
""" ALTERNATE I TRIED ALSO FROM DOCUMENTATION:
client = SoftLayer.Client(
username=USERNAME,
api_key=APIKEY
)
"""
account = client['Account'].getObject()
scanner = client.call(
"SoftLayer_Network_Security_Scanner_Request",
"createObject", {
"accountId": account.get('id'),
"ipAddress": TARGET
})
HTTP 요청
이 같은 파이썬 라이브러리보기에 의해 전송되는 :POST /xmlrpc/v3.1/SoftLayer_Network_Security_Scanner_Request HTTP/1.1
Host: api.softlayer.com
Connection: keep-alive
Accept: */*
Content-Type: application/xml
Content-Length: 798
<?xml version='1.0'?>
<methodCall>
<methodName>createObject</methodName>
<params>
<param>
<value><struct>
<member>
<name>headers</name>
<value><struct>
<member>
<name>authenticate</name>
<value><struct>
<member>
<name>username</name>
<value><string>***USERNAME_HERE***</string></value>
</member>
<member>
<name>apiKey</name>
<value><string>***API_KEY_HERE***</string></value>
</member>
</struct></value>
</member>
</struct></value>
</member>
</struct></value>
</param>
<param>
<value><struct>
<member>
<name>ipAddress</name>
<value><string>***TARGET_IP_HERE***</string></value>
</member>
<member>
<name>accountId</name>
<value><int>***ACCOUNT_ID_HERE***</int></value>
</member>
</struct></value>
</param>
</params>
</methodCall>
받은 HTTP 응답은 다음과 같습니다
HTTP/1.1 200 OK
Date: Thu, 09 Feb 2017 12:47:17 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding
Connection: close
Content-Type: text/xml
Content-Length: 495
<?xml version="1.0" encoding="iso-8859-1"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value>
<string>SoftLayer_Exception</string>
</value>
</member>
<member>
<name>faultString</name>
<value>
<string>Unable to create a new object of type SoftLayer_Network_Security_Scanner_Request_Nessus. Make sure the authentication method is correct.</string>
</value>
</member>
</struct>
</value>
</fault>
</methodResponse>
누군가가 나를 도울를 보라 시겠어요 문제가 될 수있는 곳을 파악할 수없는 코드. 이 작업에 필요한 최소한의 사용 권한 목록도 제공하십시오.
주 : 나는 가능한 모든 권한을 시도 디버깅 그러나 이것은 API에 문제처럼 보인다
코드를 사용하면 다음 예외가 발생합니다. SoftLayer.exceptions.SoftLayerAPIError : SoftLayerAPIError (SoftLayer_Exception_Public) : 보안 검색 요청을 시작하려면 IP 주소가 필요합니다. 그래서 요청에 IP 주소를 추가했지만 이전과 완전히 똑같은 예외가 발생합니다. – Keymandll
내가 확인하자 ... –
가상 서버에 대한 요청과 함께 철자가 잘못되었다 "guestId"대신 "guiestId"라고 적어졌습니다. 이제 다시 시도하십시오. –