Commant parser un texte, pour le transformer

Commant parser un texte, pour le transformer - Divers - Programmation

Marsh Posté le 02-04-2003 à 12:08:14    

voila, le but pricipal, c'est de transformer ce texte :  

Code :
  1. gc:
  2. +10.10.10.1:7,500
  3. <INP=udp> -10.10.10.1 +0.0.0.0/32:7,500
  4. <INP=udp IPADDR=EC_LAN_ADDR> -0.0.0.0/0:1306 +192.168.71.11:80
  5. <INP=tcp> +192.168.71.11:442-443
  6. <INP=tcp> +192.168.71.11:53
  7. sc:1 -0.0.0.0/0 -0.0.0.0/0
  8. sc:9 +0.0.0.0/0 -0.0.0.0/0
  9. sc:0 -0.0.0.0/0
  10. sc:10<SECP=esp> +0.0.0.0/0 -0.0.0.0/0

en le texte suivant :  

Code :
  1. /tmp/iptables -t reef -N reef-sc0
  2. /tmp/iptables -t reef -N reef-sc1
  3. /tmp/iptables -t reef -N reef-sc9
  4. /tmp/iptables -t reef -N reef-sc10
  5. /tmp/iptables -t reef -A PREROUTING -s 10.10.10.1 -p tcp --source-port 7 -j ACCEPT
  6. /tmp/iptables -t reef -A PREROUTING -s 10.10.10.1 -p udp --source-port 7 -j ACCEPT
  7. /tmp/iptables -t reef -A PREROUTING -s 10.10.10.1 -p tcp --sport 500 -j ACCEPT
  8. /tmp/iptables -t reef -A PREROUTING -s 10.10.10.1 -p udp --sport 500 -j ACCEPT
  9. /tmp/iptables -t reef -A PREROUTING -s 10.10.10.1 -p udp -j DROP
  10. /tmp/iptables -t reef -A PREROUTING -p udp --sport 7 -j ACCEPT
  11. /tmp/iptables -t reef -A PREROUTING -p udp --sport 500 -j ACCEPT
  12. /tmp/iptables -t reef -A PREROUTING -s 192.168.0.0/24 -p udp --sport 1306 -j DROP
  13. /tmp/iptables -t reef -A PREROUTING -s 192.168.71.11 -p udp --sport 80 -j ACCEPT
  14. /tmp/iptables -t reef -A PREROUTING -s 192.168.71.11 -p tcp --sport 442:443 -j ACCEPT
  15. /tmp/iptables -t reef -A PREROUTING -s 192.168.71.11 -p tcp --sport 53 -j ACCEPT
  16. /tmp/iptables -t reef -A PREROUTING -m sc --sc 0 -j reef-sc0
  17. /tmp/iptables -t reef -A PREROUTING -m sc --sc 1 -j reef-sc1
  18. /tmp/iptables -t reef -A PREROUTING -m sc --sc 9 -j reef-sc9
  19. /tmp/iptables -t reef -A PREROUTING -m sc --sc 10 -j reef-sc10
  20. /tmp/iptables -t reef -A reef-sc1  -j DROP
  21. /tmp/iptables -t reef -A reef-sc9  -j DROP
  22. /tmp/iptables -t reef -A reef-sc0 -j DROP
  23. /tmp/iptables -t reef -A reef-sc10 -m enc ! --enc 1 -j DROP


 
Pour ceux qui l'auront reconnu, ce sont des regles de firwall iptables...
 
Bref, on m'a orinete vers le parsing(lex, yacc, bison) mais je suis pas sur de bien comprendre commant ca marche
 
Est-ce que quelqu'un a deja fait ce genre de truc et pourrait me guider ??
Merci


Message édité par Burps le 02-04-2003 à 12:09:40
Reply

Marsh Posté le 02-04-2003 à 12:08:14   

Reply

Marsh Posté le 02-04-2003 à 12:10:31    

ben bison et flex te permettent de creer un analyseur de fichier. Tu vas lui donner certains regles (grammaire), ainsi que des actions associees a chacune de ses regles.
 
je ne sais pas si c le moyen le plus rapide pour arriver a faire ce que tu veux mais ca doit effectivement marcher, le plus dur etant d'ecrire la grammaire....
 

Reply

Marsh Posté le 02-04-2003 à 12:27:20    

et personne connait LE bon moyen d'arriver a mes fins ??

Reply

Marsh Posté le 02-04-2003 à 12:49:18    

1)Lex et Bison  
2) XML


---------------
Fucking Hostile •/ Bust up, Tune down, Sabb off... / Dead Sex on my tongue
Reply

Marsh Posté le 02-04-2003 à 13:34:56    

un petit awk, ca suffirait . non ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed