Dempe utgang fra tcpdump ved bruk popen

stemmer
1

Jeg skriver et program i C for å analysere pakker som blir tatt til fange av tcpdump. I mitt program bruker jeg popentil å åpne et rør til en tcpdump prosess som fanger pakkene og dumper rådataene til standardutgangen som vist nedenfor.

FILE *tcpdump = popen(tcpdump -s0 -w -, r);

Men advarsler og feilmeldinger fra tcpdump gå rett til standardfeil, som vises i konsollen. Jeg ønsker å liksom skjule disse, så bare resultatet fra mitt program vises.

En måte jeg prøvde var å legge 2>&1til tcpdump kommandoen, men da programmet mitt må skille mellom tcpdump advarsler / feil og rå pakkedata.

Er det en enkel måte å dempe stderr utgang fra tcpdump?

Publisert på 19/07/2011 klokken 20:19
kilden bruker
På andre språk...                            


1 svar

stemmer
5

omdirigere stderr til / dev / null:

FILE *tcpdump = popen("tcpdump -s0 -w - 2>/dev/null", "r");

2> & 1 betyr å omdirigere standardfeil til standardutgangen, 2> filanordning for å omdirigere standardfeil til fil (og omdirigering til / dev / null i det vesentlige ignorerer output)

Se etter omdirigering forklaring i man bash

Svarte 19/07/2011 kl. 20:26
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more