2017-05-18 6 views
2

IPアドレスを読み込むためにPythonのpysharkを使用しようとしています。私はpacket.lldp.mgn_addr_ip4を使用してLLDPパケットのIPアドレスを印刷しました。しかし、packet.cdp ...は、一連のバイトを返すpacket.cdpに加えて、同等のものを持っていないようです。CDPパケットIPアドレスを印刷できませんが、LLDPは正常に動作します

私はpacket.cdp.nrgyz.ip_addressを試しましたが、何も出力されませんでした。私はthis linkから他のフィールドを試してみましたが、何も返されません。

for packet in cap: 
try: 
    if packet.cdp: 
     print(packet.cdp.nrgyz.ip_address) 
    elif packet.lldp: 
     print(packet.lldp.mgn_addr_ip4) 
except AttributeError as e: 
    pass 

は、私は本当にそれがIPv4アドレスがプリントアウトされます返すと言うフィールドのない単一のものので、指導のいずれかの種類をいただければと思います。

答えて

0

私はそれを理解しました。どうやら、cdp.nrgyz(DOT)ip_addressを使用することはできず、代わりにcdp.nrgyz(UNDERSCORE)ip_addressを使用する必要があります。したがって、Wiresharkのドキュメントにcdp.nrgyz.ip_addressと書かれていても、cdp.nrgyz_ip_addressになります。

関連する問題