Cisco ASAの設定からファイアウォールルールを解析するスクリプトを作成しています。私の入力のPythonのファイアウォールルールの解析
としては、上記の3つのライン用.csvの形態で
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
マイ所望の出力は、次のようであろう。しかし、これらはデータベースに格納されるタプルと同様に可能です。
#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はここで助けますか?
これに適した方法は何でしょうか?
これはすばらしいです。これはトリックを行い、パーサで作業する必要はありません! –