use /etc/protocols when printing protocol names (Pedro LamarĂ£o)
diff --git a/iptables-save.c b/iptables-save.c
index cdedfbf..422a8d2 100644
--- a/iptables-save.c
+++ b/iptables-save.c
@@ -84,6 +84,12 @@
 		unsigned int i;
 		const char *invertstr = invert ? "! " : "";
 
+		struct protoent *pent = getprotobynumber(proto);
+		if (pent) {
+			printf("-p %s%s ", invertstr, pent->p_name);
+			return;
+		}
+
 		for (i = 0; i < sizeof(chain_protos)/sizeof(struct pprot); i++)
 			if (chain_protos[i].num == proto) {
 				printf("-p %s%s ",