Main Page | Alphabetical List | Class List | File List | Class Members | File Members

anon.h

Go to the documentation of this file.
00001 #include "ip_structs.h"
00002 #include "tcp_structs.h"
00003 
00004 #define min(a,b) ((a)<(b)?(a):(b))
00005 #define max(a,b) ((a)>=(b)?(a):(b))
00006 
00007 typedef struct sandnb
00008 {
00009         char *s;
00010         int nb;
00011         void *data;
00012         struct sandnb *next;
00013 } string_and_nb;
00014 
00015 typedef struct
00016 {
00017         int len;
00018         int *start;
00019         int *nbpackets;
00020 } nb_table;
00021 
00022 struct dialog
00023 {
00024         struct timeval ts_request;
00025         struct timeval ts_response;
00026         char ip_src[15];
00027         char ip_dst[15];
00028         int port_src;   
00029         int port_dst;
00030         char *request;
00031         char *response;
00032         int request_len;
00033         int response_len;
00034         int req_nb;  //Packet nb of the request
00035         int resp_nb; //Packet nb of the response
00036         struct dialog *prev;
00037         struct dialog *next;
00038 };
00039 
00040 nb_table *clone_nb_table(nb_table table);
00041 
00048 void packet_handler (u_char * param,const struct pcap_pkthdr *header, const u_char * pkt_data);
00049         
00050 
00054 void display_packet_infos(int nb, struct timeval *ts, char *ip_src, char *ip_dst, int sport, int dport);
00055 
00056 
00061 void ts_print(struct timeval *tvp_);
00062 
00063 
00068 void ts_print_diff(struct timeval *tvp_);
00069 
00070 
00079 char *strptime(const char *s, const char *format, struct tm *tm);
00080 
00081 
00088 int32_t gmt2local(time_t t);
00089 
00090 
00095 void convert_to_small(char *ptr);
00096 
00097 
00109 struct dialog *buffer_request(char *request, int len,int nb,char *ip_src, char *ip_dst, int port_src, int port_dst);
00110 
00111 
00121 struct dialog *find_request(char *ip_src, char *ip_dst, int port_src, int port_dst);
00122 
00123 
00129 char *generate_anonymised_url(char *s);
00130 
00131 
00137 void add_anonymised_url(char *url, char *newurl);
00138 
00146 char *find_url(char *s, int offset);
00147 
00153 char *find_anonymised_url(char *s);
00154 
00158 void free_anonymised_url_table();
00159 
00160 
00166 int parse_size(char *string);
00167 
00173 char *get_extension(char *s);
00174 
00179 void anon_sequence(u_int32_t *seq);
00180 
00185 void anon_port (u_int16_t *port);
00186 
00191 void anon_ip (struct in_addr *ip);
00192 
00193 
00199 char *find_anonymised_ip(struct in_addr *ip);
00200 
00205 void anon_url(char *s);
00206 
00211 void anon_timestamp(register struct timeval *tvp);
00212         
00217 void anon_date(char *date);
00218 
00224 void anon_field(char *field, char *s);
00225 
00231 void anon_http(char *data, int len);
00232 
00237 void scan_http(struct dialog *d);
00238 
00248 char *process_http(char *data, int len, int scan, int anon);
00249 
00253 void content_length_stats();
00254 
00258 void date_stats();
00259 
00267 string_and_nb *add_and_count_string_with_data(string_and_nb *table, char *s, void *data);
00268 
00275 string_and_nb *find_item(string_and_nb *table, char *s);
00276 
00284 void display_string_table_with_data(char *title,string_and_nb *table, char *data_title, int sorted);
00285 
00290 void free_string_table(string_and_nb *table);
00291 
00296 void process_dialog(struct dialog *d);
00297 
00302 void free_dialog(struct dialog *d);
00303 
00309 pcap_if_t *get_pcap_interface (char *name);
00310 
00311 
00312 void stats_add_server(char *s);
00313 void stats_add_server_simple(char *s);
00314 void stats_add_http_response_code_with_data(char *s, char *data);
00315 void stats_add_http_version(char *s);
00316 void stats_add_user_agent(char *s);
00317 void stats_add_http_version(char *s);
00318 void stats_add_last_modified(char *s);
00319 void stats_add_url(char *s);
00320 void stats_add_extension(char *s);
00321 void stats_add_suffix(char *s);
00322 void stats_add_content_type(char *s);
00323 void stats_add_content_type_simple(char *s);
00324 void stats_add_content_length(char *s);
00325 void stats_add_header(char *s);
00326 void stats_add_url_with_data(char *s, void *data);
00327 void stats_add_new_url_with_data(char *s, void *data);
00328 void stats_add_sequence_number(char *s);
00329 void stats_add_freshness(int nb);
00330 
00331 
00332 /*************************/
00333 /*** UTILITY FUNCTIONS ***/
00334 /*************************/
00338 void *xmalloc(size_t size);
00339 
00340 
00344 void *xrealloc(void *ptr, size_t size);
00345 
00346 
00354 char *is_in(char **string_table, char *string);
00355 
00356 
00362 char *base_name(register char *f);
00363 
00364 
00370 int is_ip_in_a_string(char *s);
00371 
00372 
00379 void memset_range(char *start, char *end, int c);
00380 
00381 
00390 char *strstr_limited(char *ptr, char *end, char *str);
00391 
00392 
00398 u_int32_t getip32 (char *ip);
00399 
00400 
00405 inline char get_random_char();
00406 
00407 
00413 void catch_ctrl_c(int signum);  
00414 
00415 
00421 char *compute_flags(u_int8_t flags);
00422 
00423 
00430 char *add_flag(char *s, char *flag);
00431 
00432 
00436 char *get_time(double t);
00437 
00438 
00442 char *get_size(int s);
00443 
00444 
00448 char *get_speed(double speed);
00449 
00453 inline char *get_pct(double pct);
00454 
00455 
00459 char *string_append(char *s, const char *fmt, ...);

Generated on Sat Sep 10 01:19:13 2005 for Anon by  doxygen 1.4.3-20050530