netcat源代码分析,doexec ()函数和readwrite ()函数的关系
#ifdef GAPING_SECURITY_HOLE
if (pr00gie) /* -e given? */
doexec (netfd);
#ifdef WIN32
if (!pr00gie) // doexec does the read/write for win32
#endif
#endif /* GAPING_SECURITY_HOLE */
x = readwrite (netfd); /* it even works with UDP! */
如果有-e选项调用 doexec (netfd);代替readwrite (netfd);
可见两则只能选其一。