Commit 443b5fd0 authored by Cedric Roux's avatar Cedric Roux

T: add -no-bind option to macpdu2wireshark

To be used when you send data to another host.

On the other host, to avoid ICMP traffic about the port
not being open, do:

./nc -l -u -p 9999 > /dev/null

You need to restart this command each time you run macpdu2wireshark.
You can use any other program that will accept UDP packets on the
port 9999 (default port of macpdu2wireshark, change if you use another
port of course).
parent 3c85cd58
...@@ -52,6 +52,7 @@ typedef struct { ...@@ -52,6 +52,7 @@ typedef struct {
int max_mib; int max_mib;
int max_sib; int max_sib;
int live; int live;
int no_bind;
/* runtime vars */ /* runtime vars */
int cur_mib; int cur_mib;
int cur_sib; int cur_sib;
...@@ -264,10 +265,12 @@ void *receiver(void *_d) { ...@@ -264,10 +265,12 @@ void *receiver(void *_d) {
abort(); abort();
} }
if (d->no_bind == 0) {
if (bind(s, (struct sockaddr *)&d->to, sizeof(struct sockaddr_in)) == -1) { if (bind(s, (struct sockaddr *)&d->to, sizeof(struct sockaddr_in)) == -1) {
perror("bind"); perror("bind");
abort(); abort();
} }
}
while (1) { while (1) {
if (recv(s, buf, 100000, 0) <= 0) abort(); if (recv(s, buf, 100000, 0) <= 0) abort();
...@@ -290,6 +293,7 @@ void usage(void) { ...@@ -290,6 +293,7 @@ void usage(void) {
" -live run live\n" " -live run live\n"
" -live-ip <IP address> tracee's IP address (default %s)\n" " -live-ip <IP address> tracee's IP address (default %s)\n"
" -live-port <port> tracee's port (default %d)\n" " -live-port <port> tracee's port (default %d)\n"
" -no-bind don't bind to IP address (for remote logging)\n"
"-i and -live are mutually exclusive options. One of them must be provided\n" "-i and -live are mutually exclusive options. One of them must be provided\n"
"but not both.\n", "but not both.\n",
DEFAULT_IP, DEFAULT_IP,
...@@ -318,78 +322,18 @@ int main(int n, char **v) { ...@@ -318,78 +322,18 @@ int main(int n, char **v) {
for (i = 1; i < n; i++) { for (i = 1; i < n; i++) {
if (!strcmp(v[i], "-h") || !strcmp(v[i], "--help")) usage(); if (!strcmp(v[i], "-h") || !strcmp(v[i], "--help")) usage();
if (!strcmp(v[i], "-d")) { if(i>n-2)usage(); database_filename = v[++i]; continue; }
if (!strcmp(v[i], "-d")) { if (!strcmp(v[i], "-i")) { if(i>n-2)usage(); input_filename = v[++i]; continue; }
if (i > n-2) usage(); if (!strcmp(v[i], "-ip")) { if(i>n-2)usage(); ip = v[++i]; continue; }
if (!strcmp(v[i], "-p")) { if(i>n-2)usage(); port = atoi(v[++i]); continue; }
database_filename = v[++i]; if (!strcmp(v[i], "-no-mib")) { d.no_mib = 1; continue; }
continue; if (!strcmp(v[i], "-no-sib")) { d.no_sib = 1; continue; }
} if (!strcmp(v[i], "-max-mib")) { if(i>n-2)usage(); d.max_mib = atoi(v[++i]); continue; }
if (!strcmp(v[i], "-max-sib")) { if(i>n-2)usage(); d.max_sib = atoi(v[++i]); continue; }
if (!strcmp(v[i], "-i")) { if (!strcmp(v[i], "-live")) { live = 1; continue; }
if (i > n-2) usage(); if (!strcmp(v[i], "-live-ip")) { if(i>n-2)usage(); live_ip = v[++i]; continue; }
if (!strcmp(v[i], "-live-port")) { if(i>n-2)usage(); live_port = atoi(v[++i]); continue; }
input_filename = v[++i]; if (!strcmp(v[i], "-no-bind")) { d.no_bind = 1; continue; }
continue;
}
if (!strcmp(v[i], "-ip")) {
if (i > n-2) usage();
ip = v[++i];
continue;
}
if (!strcmp(v[i], "-p")) {
if(i>n-2)usage();
port=atoi(v[++i]);
continue;
}
if (!strcmp(v[i], "-no-mib")) {
d.no_mib = 1;
continue;
}
if (!strcmp(v[i], "-no-sib")) {
d.no_sib = 1;
continue;
}
if (!strcmp(v[i], "-max-mib")) {
if (i > n-2) usage();
d.max_mib = atoi(v[++i]);
continue;
}
if (!strcmp(v[i], "-max-sib")) {
if (i > n-2) usage();
d.max_sib = atoi(v[++i]);
continue;
}
if (!strcmp(v[i], "-live")) {
live = 1;
continue;
}
if (!strcmp(v[i], "-live-ip")) {
if (i > n-2) usage();
live_ip = v[++i];
continue;
}
if (!strcmp(v[i], "-live-port")) {
if (i > n-2) usage();
live_port = atoi(v[++i]);
continue;
}
usage(); usage();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment