NBAR Flesh Tone Detection

By stretch | Thursday, April 1, 2010 at 4:25 a.m. UTC

To help combat world-wide congestion on the public Internet, Cisco has developed an extension to its Network-Based Application Recognition (NBAR) engine on IOS routers. The NBAR flesh tone detection feature performs deep packet inspection (DPI) on supported protocols to detect pornographic images for (de)prioritization.

Flesh tones are the beige/brown colors common to human skin pigments. Images with a high percentage of pixels set to these colors carry a high probability of being pornographic in nature. NBAR flesh tone detection is able to process images carried by NBAR-supported protocols like HTTP and FTP and heuristically detect and mark packets carrying suspect image fragments for prioritization.

NBAR flesh tone detection, powered by Cisco's proprietary Flexible Advanced Pornographic Protocol Recognition (FAPPR) algorithm, currently supports JPG, PNG, TIFF, GIF, and animated GIF image formats of up to 2048x2048 pixels.

NBAR Flesh tone Detection Configuration

Flesh tone detection is applied to a class map similar to any other NBAR match statement. A percentage of pixels must be specified between 1 and 100.

Router(config)# class-map hardcore
Router(config-cmap)# match flesh-tone percentage 75

At this point, the class map can be applied to an NBAR traffic policy to prioritize and/or mark traffic.

Router(config)# policy-map skintastic
Router(config-pmap)# class hardcore
Router(config-pmap-c)# priority percent 90
Router(config-pmap-c)# interface f0/0
Router(config-if)# service-policy input skintastic

About the Author

Jeremy Stretch is a network engineer living in the Raleigh-Durham, North Carolina area. He is known for his blog and cheat sheets here at Packet Life. You can reach him by email or follow him on Twitter.

Posted in Humor


Jason (guest)
April 1, 2010 at 4:36 a.m. UTC

Had me until FAPPR.

April 1, 2010 at 5:48 a.m. UTC

I have seriously heard about technology that can do this, but I guess it being posted in Humor kinda gives it away..

abester (guest)
April 1, 2010 at 6:20 a.m. UTC

So the same way we can identify and drop the priority level down, does that mean we can raise the priority level up ???

Nobody@nowhere (guest)
April 1, 2010 at 6:42 a.m. UTC

Great stuff and most import "priority precent 90"

April 1, 2010 at 11:16 a.m. UTC

Yea, you got me. I did double check on the Cisco Web site. :)

April 1, 2010 at 11:52 a.m. UTC

Almost as good as last year.

J (guest)
April 1, 2010 at 12:02 p.m. UTC

You got me too... :)

A guest
April 1, 2010 at 1:49 p.m. UTC

Good thing I'm into alien porn. Pics composed mainly of green and gray skin tones won't be affected!

Ivan Pepelnjak (guest)
April 1, 2010 at 2:26 p.m. UTC

Fantastic technology ;)

April 1, 2010 at 3:02 p.m. UTC

Nice! 90% bandwidth priority should be sufficient.

That1guy15 (guest)
April 1, 2010 at 4:01 p.m. UTC


I was thinking this would give everyone a reason to search porn and play on their work/home lab at the same time :) I can just see the look on my wife's face.

FAPPR, that is awesome :)

ZW (guest)
April 2, 2010 at 3:53 a.m. UTC


tibet (guest)
April 2, 2010 at 4:57 a.m. UTC

2 thumbs up!!!!!!

bbn (guest)
April 3, 2010 at 8:53 p.m. UTC

had me until the comments

sartan (guest)
March 21, 2012 at 2:19 a.m. UTC

Haha, stretch, I was having a serious conversation about flesh tone mapping until I found this post on the 'nets. Wow.

Ryan (guest)
March 1, 2015 at 12:00 a.m. UTC

Is there a linux or open source algorithm for NBAR (Flexible Advanced Pornographic Protocol Recognition)?

Also the Cisco url above no longer displays the info it used to.

Comments have closed for this article due to its age.