The stuff you see on the screen actually comes from *two* output streams: from both "stdout" (where "grep" expects to read from), and also from "stderr" (intended only for "error messages").
I'm guessing that your "noip2" either writes to stderr, or creates its own (third, separate!) output stream. Since grep only reads "stdout", you'd see *everything* from any stream that *isn't* "stdout".
'Hope that helps .. PSM
You can redirect different streams to a text file this way:
MYCMD > tmp.txt # redirects "stdout"
MYCMD 2> tmp.txt # redirects "stderr"