Cisco ASA の構成からファイアウォール ルールを解析するスクリプトを作成しています。
私の入力の例は次のとおりです。
access-list myACL line 1 extended permit tcp host 10.8.13.200 host 10.32.53.22 eq 1122
access-list myACL line 2 extended permit tcp 10.8.13.0 255.255.255.0 host 10.1.206.17 eq 445
access-list myACL line 3 extended permit udp host 10.8.13.200 eq 54345 host 10.1.206.17 eq 445
access-list myACL line 4 extended permit icmp any any
上記の 3 行を .csv 形式で出力すると、次のようになります。ただし、これらはデータベースに格納されるタプルでもかまいません。
#aclName,lineNumber,action,protocol,sourceIP,sourcePort,destIP,destPort
myACL,1,permit,tcp,10.8.13.200,*,10.32.53.22,1122
myACL,2,permit,tcp,10.8.13.0/24,*,10.1.206.17,445
myACL,3,permit,udp,10.8.13.200,54345,10.1.206.17,445
myACL,4,permit,icmp,*,*,*,*
このプロジェクトへのアプローチの選択に問題があります。ats、shlex、または単に正規表現を使用するなど、多くのオプションを見てきましたが、最適なオプションを判断するのに苦労しています。ここで PLY は役に立ちますか?
これに適したアプローチは何ですか?