'NoneType' 对象没有属性 'get_all_security_groups'
'NoneType' object has no attribute 'get_all_security_groups'
我有点卡在这里了。
.
regions = ['us-west-2','eu-central-1','ap-southeast-1'] ##Prod VPC
data = []
header = ["Port","Open For","Security group","Instance Details"]
for region in regions:
connection=ec2.connect_to_region(region)
print connection
sg=connection.get_all_security_groups()
print sg
try:
for securityGroup in sg:
for rule in securityGroup.rules:
if '0.0.0.0/0' in str(rule.grants):
for instanceid in securityGroup.instances():
instanceId=str(instanceid)
# print instanceId
tag = getTag(connection, instanceId.split(':')[1])
if tag is not None:
# print tab
tab =[str(rule.to_port),"0.0.0.0/0",str(securityGroup.name),str(getTag(connection, instanceId.split(':')[1]))]
data.append(tab)
except Exception,e:
pass
结果如下
EC2Connection:ec2.us-west-2.amazonaws.com
[SecurityGroup: too many sec groups here.........]
None
Traceback (most recent call last):
File "aws_sec_scan.py", line 29, in <module>
sg=connection.get_all_security_groups()
AttributeError: 'NoneType' object has no attribute 'get_all_security_groups'
为什么我会收到 "None"?
这是因为连接是 None 并且您正在尝试从 None 值
调用函数
sg=connection.get_all_security_groups()
因此请检查连接是否正确。
分解堆栈跟踪:
在第一次迭代中,你有connection
,因此没有错误:
EC2Connection:ec2.us-west-2.amazonaws.com # this is your connection
[SecurityGroup: too many sec groups here.........] # this being the security groups
在第二次迭代中:
None # this prints the connection you obtained for that 'region'
所以现在如果你使用 sg=connection.get_all_security_groups()
你会得到以下错误,因为 connection
是 None
:
Traceback (most recent call last):
File "aws_sec_scan.py", line 29, in <module>
sg=connection.get_all_security_groups()
AttributeError: 'NoneType' object has no attribute 'get_all_security_groups'
我有点卡在这里了。
.
regions = ['us-west-2','eu-central-1','ap-southeast-1'] ##Prod VPC
data = []
header = ["Port","Open For","Security group","Instance Details"]
for region in regions:
connection=ec2.connect_to_region(region)
print connection
sg=connection.get_all_security_groups()
print sg
try:
for securityGroup in sg:
for rule in securityGroup.rules:
if '0.0.0.0/0' in str(rule.grants):
for instanceid in securityGroup.instances():
instanceId=str(instanceid)
# print instanceId
tag = getTag(connection, instanceId.split(':')[1])
if tag is not None:
# print tab
tab =[str(rule.to_port),"0.0.0.0/0",str(securityGroup.name),str(getTag(connection, instanceId.split(':')[1]))]
data.append(tab)
except Exception,e:
pass
结果如下
EC2Connection:ec2.us-west-2.amazonaws.com
[SecurityGroup: too many sec groups here.........]
None
Traceback (most recent call last):
File "aws_sec_scan.py", line 29, in <module>
sg=connection.get_all_security_groups()
AttributeError: 'NoneType' object has no attribute 'get_all_security_groups'
为什么我会收到 "None"?
这是因为连接是 None 并且您正在尝试从 None 值
调用函数sg=connection.get_all_security_groups()
因此请检查连接是否正确。
分解堆栈跟踪:
在第一次迭代中,你有connection
,因此没有错误:
EC2Connection:ec2.us-west-2.amazonaws.com # this is your connection
[SecurityGroup: too many sec groups here.........] # this being the security groups
在第二次迭代中:
None # this prints the connection you obtained for that 'region'
所以现在如果你使用 sg=connection.get_all_security_groups()
你会得到以下错误,因为 connection
是 None
:
Traceback (most recent call last):
File "aws_sec_scan.py", line 29, in <module>
sg=connection.get_all_security_groups()
AttributeError: 'NoneType' object has no attribute 'get_all_security_groups'