[Kamailio-Users] Quick REGEX to match Private IP

Daniel-Constantin Mierla miconda at gmail.com
Tue Mar 30 11:30:39 CEST 2010



On 3/26/10 4:25 PM, Uriel Rozenbaum wrote:
> Done,
>
> I had a lot of errors so I'll just show the final version that works OK.
>
>  =~ "192\.168\.([0-9]{1,3})\.([0-9]{1,3})
>
> The only drawback is that I could pass as valid 192.168.999.999 but as 
> these IPs come from a DNS query, I assume they'll be fine.

I think you can reduce it to be just: "^192\.168\."

Since it comes from dns server or socket attributes, then you are safe.

The other option is to convert it to integer (with transformations) and 
check it as net mask via bit wise operators.

Cheers,
Daniel

>
> Cheers,
> Uriel
>
> On Fri, Mar 26, 2010 at 11:29 AM, Uriel Rozenbaum 
> <uriel.rozenbaum at gmail.com <mailto:uriel.rozenbaum at gmail.com>> wrote:
>
>     Hi Alex,
>
>     Actually what I'm trying to do is check the IPs on a request on a
>     Kamailio+RTPProxy acting as border of our network.
>
>     So I have the ingress IP and egress IP and need to check if I have
>     to bridge ii, ei, ie or ee.
>     I managed to obtain all IPs in AVPs, but now I have to check if
>     they are public or private.
>
>     So far our network uses only 192.168.x.x class for private servers.
>
>     Thanks for the quick reply
>     Uriel
>
>
>     On Fri, Mar 26, 2010 at 10:56 AM, Alex Balashov
>     <abalashov at evaristesys.com <mailto:abalashov at evaristesys.com>> wrote:
>
>         172.16.0.0/12 <http://172.16.0.0/12> does not line up on octet
>         boundaries.  You will need to do something other than a
>         regular expression.  Fortunately, 'src_ip' is a composite that
>         supports comparisons against subnets in shorthand CIDR notation.
>
>         It might also be that whatever you are trying to accomplish
>         can be done better some other way, but since you did not pose
>         the question in terms of the objective, I cannot speak to that.
>
>         --
>         Sent from mobile device
>
>
>         On Mar 26, 2010, at 9:46 AM, Uriel Rozenbaum
>         <uriel.rozenbaum at gmail.com <mailto:uriel.rozenbaum at gmail.com>>
>         wrote:
>
>             Hi guys,
>
>             Does anyone have a REGEX syntax to match a private IP on
>             the 192.168.x.x range?
>
>             I'm trying with:
>             if($avp(s:ip_origen)=~"192.168(\.([1]?\d{1,2}|2[0-4]{1}\d{1}|25[0-5]{1})){2}"
>             )
>
>             But all IPs pass as private, even public ones.
>
>             Thanks!
>             Uriel
>             _______________________________________________
>             Kamailio (OpenSER) - Users mailing list
>             Users at lists.kamailio.org <mailto:Users at lists.kamailio.org>
>             http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>             http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>
>
>
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

-- 
Daniel-Constantin Mierla * http://www.asipto.com/ * 
http://twitter.com/miconda * 
http://www.linkedin.com/in/danielconstantinmierla
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20100330/3a082906/attachment.htm>


More information about the sr-users mailing list