Cosmétique

code : quelques corrections de forme.

git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@79 785a6c6c-259e-4ff1-8b91-dc31627914f0
This commit is contained in:
Matteo Cypriani 2008-11-06 07:41:32 +00:00
parent 7a5fd431f4
commit 7800038be0
3 changed files with 80 additions and 76 deletions

View File

@ -129,8 +129,8 @@ void read_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *p
memcpy(&rtap_bytes, &data[2], sizeof(unsigned short)) ; // Recopie les deux octets à partir du troisième octet de donnée qui est la taille de l'en-tête rtap (change avec des flags)
raw_packet_type = data[rtap_bytes] ; // Au bout de l'en-tête rtap il y a celle du 802.11 dont le premier determine le type (beacon ou pas)
memcpy((unsigned char*) &dst_port, &data[rtap_bytes+24+8+20+3], 1) ; // On récupère le port de destination (mais il faut retourner les deux octets)
memcpy(&((unsigned char*) &dst_port)[1], &data[rtap_bytes+24+8+20+2], 1) ; // (20 : longueur de l'en-tête IP, le port de destination étant les troisièmes et quatrièmes octet suivant).
memcpy((unsigned char*) &dst_port, &data[rtap_bytes + IEEE80211_HEADER_SIZE + LLC_HEADER_SIZE + IP_HEADER_SIZE + 3], 1) ; // On récupère le port de destination (mais il faut retourner les deux octets)
memcpy(&((unsigned char*) &dst_port)[1], &data[rtap_bytes + IEEE80211_HEADER_SIZE + LLC_HEADER_SIZE + IP_HEADER_SIZE + 2], 1) ; // Port de destination = troisième et quatrième octets suivant l'en-tête IP.
raw_packet_flags = data[rtap_bytes+1] ; // On récupère les flags 802.11, qui sont dans l'en-tête 802.11.
#ifdef DEBUG

View File

@ -222,7 +222,7 @@ int iface_mode_monitor(char *iface)
/* Change le canal de l'interface Wi-Fi "iface" avec la valeur "channel" */
/* Change le canal de l'interface Wi-Fi "iface" avec la valeur "channel" (numéro de 1 à 14) */
int iface_set_channel(char *iface, int channel)
{
struct iwreq wrq ;
@ -275,6 +275,7 @@ int iface_channel_hop(char *iface)
/* Gestionnaire de signal générique pour SIGINT */
void sigint_handler(int num)
{
if (num != SIGINT)
@ -291,6 +292,7 @@ void sigint_handler(int num)
/* Gestionnaire de signal générique pour SIGTERM */
void sigterm_handler(int num)
{
if (num != SIGTERM)

View File

@ -64,79 +64,11 @@ typedef struct _couple_message
} couple_message ;
/* Types des paquets capturés (data[rtap_bytes]) */
#define RAW_PACKET_TYPE_BEACON 0x80
#define RAW_PACKET_TYPE_DATA 0x08
/* Protocoles des paquets capturés (data[rtap_bytes+24+8+9]) */
#define RAW_PACKET_PROTO_UDP 0x11
#define RAW_PACKET_PROTO_ICMP 0x01
/* Type de paquet ICMP : octet suivant la fin de l'en-tête IP (data[rtap_bytes+24+8+20]) */
#define RAW_PACKET_ICMP_ECHO 0x08
/* Types de demandes de localisation */
#define PACKET_TYPE_NORMAL 0
#define PACKET_TYPE_CALIBRATION 1
/* Position des champs fixes de l'en-tête rtap (octets) */
#define RTAP_P_HREVISION 0 // Header revision
#define RTAP_P_HPAD 1 // Header pad
#define RTAP_P_HLENGTH 2 // Header length
#define RTAP_P_PRESENTFLAGS 4 // Present flags
/* Longueur des champs de l'en-tête rtap (octets) */
#define RTAP_L_HREVISION 1 // Header revision
#define RTAP_L_HPAD 1 // Header pad
#define RTAP_L_HLENGTH 2 // Header length
#define RTAP_L_PRESENTFLAGS 4 // Present flags
#define RTAP_L_MACTS 8 // MAC timestamp
#define RTAP_L_FLAGS 1 // autre champ de flags
#define RTAP_L_RATE 1 // Data rate
#define RTAP_L_CHANNEL 2 // Channel
#define RTAP_L_CHANNELTYPE 2 // Channel type
#define RTAP_L_ANTENNASIGNALDBM 1 // SSI signal dBm
#define RTAP_L_ANTENNANOISEDBM 1 // SSI noise dBm
#define RTAP_L_ANTENNA 1 // Antenna
#define RTAP_L_FHSS 2
#define RTAP_L_LOCKQUALITY 2
#define RTAP_L_TXATTENUATION 2
#define RTAP_L_TXATTENUATIONDB 2
#define RTAP_L_TXATTENUATIONDBM 1
#define RTAP_L_ANTENNASIGNALDB 1 // en dB
#define RTAP_L_ANTENNANOISEDB 1 // en dB
#define RTAP_L_FCS 4
#define RTAP_L_EXT // Non implémenté
/* Positions pour affichage (tableau check de ss_list) */
#define RTAP_MACTS 0
#define RTAP_FLAGS 1
#define RTAP_RATE 2
#define RTAP_CHANNEL 3 // ainsi que RTAP_CHANNELTYPE
#define RTAP_FHSS 4
#define RTAP_ANTENNASIGNALDBM 5
#define RTAP_ANTENNANOISEDBM 6
#define RTAP_LOCKQUALITY 7
#define RTAP_TXATTENUATION 8
#define RTAP_TXATTENUATIONDB 9
#define RTAP_TXATTENUATIONDBM 10
#define RTAP_ANTENNA 11
#define RTAP_ANTENNASIGNALDB 12
#define RTAP_ANTENNANOISEDB 13
#define RTAP_FCS 14
/* Taille des en-têtes des paquets (en octets) */
#define IEEE80211_HEADER_SIZE 24
#define LLC_HEADER_SIZE 8
#define IP_HEADER_SIZE 20
#define UDP_HEADER_SIZE 8
/* Fréquences des canaux Wi-Fi en Hz */
#define CHANNEL_1 2412
#define CHANNEL_2 2417
@ -154,6 +86,76 @@ typedef struct _couple_message
#define CHANNEL_14 2477
/* Taille des en-têtes des paquets (en octets) */
#define IEEE80211_HEADER_SIZE 24
#define LLC_HEADER_SIZE 8
#define IP_HEADER_SIZE 20
#define UDP_HEADER_SIZE 8
/* Types des paquets capturés (en-tête IEEE 802.11) */
#define RAW_PACKET_TYPE_BEACON 0x80
#define RAW_PACKET_TYPE_DATA 0x08
/* Protocoles des paquets capturés (en-tête IP) */
#define RAW_PACKET_PROTO_UDP 0x11
#define RAW_PACKET_PROTO_ICMP 0x01
/* Type de paquet ICMP : octet suivant la fin de l'en-tête IP (data[rtap_bytes+24+8+20]) */
#define RAW_PACKET_ICMP_ECHO 0x08
/* Position des champs fixes de l'en-tête radiotap (octets) */
#define RTAP_P_HREVISION 0 // Header revision
#define RTAP_P_HPAD 1 // Header pad
#define RTAP_P_HLENGTH 2 // Header length
#define RTAP_P_PRESENTFLAGS 4 // Present flags
/* Longueur des champs de l'en-tête radiotap (octets) */
#define RTAP_L_HREVISION 1 // Header revision
#define RTAP_L_HPAD 1 // Header pad
#define RTAP_L_HLENGTH 2 // Header length
#define RTAP_L_PRESENTFLAGS 4 // Present flags
#define RTAP_L_MACTS 8 // MAC timestamp (Time Synchronization Function Timer)
#define RTAP_L_FLAGS 1 // autre champ de flags
#define RTAP_L_RATE 1 // Data rate
#define RTAP_L_CHANNEL 2 // Channel frequency
#define RTAP_L_CHANNELTYPE 2 // Channel type
#define RTAP_L_ANTENNASIGNALDBM 1 // SSI signal (dBm)
#define RTAP_L_ANTENNANOISEDBM 1 // SSI noise (dBm)
#define RTAP_L_ANTENNA 1 // Antenna number
#define RTAP_L_FHSS 2 // Hop set and pattern for Frequency-Hopping Spread Spectrum
#define RTAP_L_LOCKQUALITY 2 // Signal quality
#define RTAP_L_TXATTENUATION 2 // Transmit power from max power
#define RTAP_L_TXATTENUATIONDB 2 // Idem (dB)
#define RTAP_L_TXATTENUATIONDBM 1 // Idem (dBm)
#define RTAP_L_ANTENNASIGNALDB 1 // SSI signal (dB)
#define RTAP_L_ANTENNANOISEDB 1 // SSI noise (dB)
#define RTAP_L_FCS 4 // Frame Check Sequence
//#define RTAP_L_CHANNELP // Extended channel info (non implémenté)
//#define RTAP_L_EXT // Extension aux Present flags (non implémenté)
/* Positions dans Present flags (et tableau 'check' des champs présents) */
#define RTAP_MACTS 0
#define RTAP_FLAGS 1
#define RTAP_RATE 2
#define RTAP_CHANNEL 3 // ainsi que RTAP_CHANNELTYPE
#define RTAP_FHSS 4
#define RTAP_ANTENNASIGNALDBM 5
#define RTAP_ANTENNANOISEDBM 6
#define RTAP_LOCKQUALITY 7
#define RTAP_TXATTENUATION 8
#define RTAP_TXATTENUATIONDB 9
#define RTAP_TXATTENUATIONDBM 10
#define RTAP_ANTENNA 11
#define RTAP_ANTENNASIGNALDB 12
#define RTAP_ANTENNANOISEDB 13
#define RTAP_FCS 14
//#define RTAP_CHANNELP 18
//#define RTAP_EXT 31
/* Variables globales */
BOOL run ;
@ -174,17 +176,17 @@ unsigned long long timeval_to_ms(struct timeval date) ;
unsigned long sub_date(struct timeval sup, struct timeval inf) ;
BOOL mac_cmp(unsigned char *mac1, unsigned char *mac2) ;
// Signaux
void sigint_handler(int num) ;
void sigterm_handler(int num) ;
// Réseau
int create_udp_listening_socket(int port) ;
int create_udp_sending_socket(char *server_address, int server_port, struct sockaddr_in *server_description, struct sockaddr_in * client_description) ;
int create_udp_listening_socket(int port) ;
int iface_mode_monitor(char *iface) ;
int iface_set_channel(char *iface, int channel) ;
int iface_channel_hop(char *iface) ;
// Signaux
void sigint_handler(int num) ;
void sigterm_handler(int num) ;
/* Macros */