IPTABLES-XML(1)

๐Ÿ’– NAME ๐Ÿ’–

Okay so welcome to IPTABLES-XML(1) โ€” the iptables 1.8.13 edition, bestie โ€” and this one is literally called iptables-xml, the tool that converts iptables-save format to XML. Slay. โœจ


๐ŸŒธ SYNOPSIS ๐ŸŒธ

iptables-xml [-c] [-v]

๐Ÿ’… DESCRIPTION ๐Ÿ’…

iptables-xml is your little converter bestie: it takes the output of iptables-save and turns it into an easily manipulatable XML format to STDOUT. Use the I/O-redirection your shell gives you to write that into a file. ๐Ÿซถ

  • -c, --combine โ€” combines consecutive rules that have the same matches but different targets. iptables currently does not support more than one target per match, so this simulates that by collecting the targets from consecutive iptables rules into one action tag โ€” but only when the rule matches are identical. Terminating actions like RETURN, DROP, ACCEPT and QUEUE are not combined with subsequent targets. ๐Ÿ’€
  • -v, --verbose โ€” outputs xml comments containing the iptables line from which the XML is derived. Cute and useful. ๐ŸŽ€

iptables-xml does a mechanistic conversion to a very expressive xml format; the only semantic considerations are for -g and -j targets in order to discriminate between <call> <goto> and <nane-of-target> as it helps xml processing scripts if they can tell the difference between a target like SNAT and another chain. ๐Ÿฆ‹

Some sample output is:

       <iptables-rules>
         <table name="mangle">
           <chain name="PREROUTING" policy="ACCEPT" packet-count="63436" byte-
       count="7137573">
             <rule>
              <conditions>
               <match>
                 <p>tcp</p>
               </match>
               <tcp>
                 <sport>8443</sport>
               </tcp>
              </conditions>
              <actions>
               <call>
                 <check_ip/>
               </call>
               <ACCEPT/>
              </actions>
             </rule>
           </chain>
         </table> </iptables-rules>

Conversion from XML to iptables-save format may be done using the iptables.xslt script and xsltproc, or a custom program using libxsltproc or similar; in this fashion:

xsltproc iptables.xslt my-iptables.xml | iptables-restore

๐Ÿ’€ BUGS ๐Ÿ’€

None known as of the iptables-1.3.7 release. Iconic, honestly. โœจ


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Sam Liddicott โ€” <azez@ufomechanic.net> ๐Ÿ’Œ


๐ŸŒˆ SEE ALSO ๐ŸŒˆ

iptables-save(8), iptables-restore(8), iptables(8)


Thatโ€™s the whole IPTABLES-XML(1) moment, bestie โ€” the footer source/version is iptables 1.8.13, and thereโ€™s no separate date listed on this page, so thatโ€™s the cute sign-off. ๐ŸŽ€โœจ

๐Ÿ“ฆ where this page comes from