Monday, January 11, 2010

GPU Programming with CUDA

I am new to GPU programming. I have run couple of CUDA programs on the GPU and I have developed matrix multiplication program. The CUDA programmer should have to have a good knowledge on memory scheme of the GPU and how different data can be disseminated among different threads.

Now my main goal is to find a way to call CUDA program within the C program and get the result back to the CPU from GPU.

Snort Installation

Before Installing Snort, you should have installed following s/w and tools.

  • Libpcap - Provides an API for capturing n/w data packets. kind of sniffer
  • PCRE - C library for evaluation of regular expressions
  • Libnet - this provides generic APIs that provides access to several protocols
  • Barnyard - An o/p system for Snort
Libpcap Installation
download the latest version (I used libpcap-1.0.0)
Extract - # tar -zxf libpcap-1.0.0.tar.gz
Compile - # ./configure
# make
Install - make install


PCRE - Perl Compatible Regular Expressions
Download the latest version (I used pcre-7.9.tar.gz)

Extract, Compile and Install in the same way as above.


Libnet
I did not install Libnet yet

Snort
Downloaded the snort-2.8.4.1

Compiled and installed - # ./configure
# make
# make install

Run - # snort -v


Oinkmaster -
this is a scripting tool that will help you update and manage your snort rules.

Installing Snort Rules (Procedure that I follwed)
install snort
# mkdir /etc/snort // rules directory created
# mkdir /var/log/snort //log directory created
# cd rules - go to the snort rules directory
# cp * /etc/snort copy all the snort rules
# cd ../etc/ go to the etc of snort folder
# cp snort.conf /etc/snort
# cp *.config /etc/snort
# cp unicode.map /etc/snort

Edit snort.conf
1. var RULE_PATH /etc/snort/
2. search for "bad-traffic" and comment the entire block


Test Snort
# cd /usr/local/bin
# snort -c /etc/snort/snort.conf -l /var/log/snort