Hi Tito,
On Wednesday 13 June 2007 23:54, Tito wrote:
> Hi,
> this patch adds a very simple port scanner based on connect() to busybox.
> I developed it for fun and to improve my skills.
> Include it if you like it. Critics, hints and improvements are welcome.
> It is turned off by default. Bloat-o-meter says:
>
> scripts/bloat-o-meter busybox_old busybox_unstripped
> function old new delta
> pscan_main - 472 +472
> .rodata 122515 122707 +192
> packed_usage 22284 22334 +50
> my_gettimeofday - 35 +35
> applets 3084 3096 +12
> ------------------------------------------------------------------------------
> (add/remove: 2/0 grow/shrink: 3/0 up/down: 761/0) Total: 761 bytes
>
> BTW: the increase in .rodata seems very big (maybe too big) to me, but i'm
> not a guru in this things....
>
> Output looks like:
>
> [EMAIL PROTECTED]:~/Desktop/busybox.orig# ./busybox pscan www.busybox.net
> Scanning www.busybox.net ports 1 to 1024
> Port Proto State Service
> 22 tcp open ssh
> 25 tcp open smtp
> 53 tcp open domain
> 80 tcp open www
> 443 tcp open https
> 873 tcp open rsync
> 0 stealth, 1018 closed, 6 open ports
+ connect(s, &lsap->sa, lsap->len);
+
+ if (errno == ENETDOWN
+ || errno == ENETUNREACH
+ || errno == ENETRESET
+ || errno == ECONNABORTED)
+ bb_perror_nomsg_and_die();
+
+ do {
+ if (errno == ECONNREFUSED) {
+ closed_ports++;
+ /* Attempt to calculate the rtt */
+ rtt = my_gettimeofday() - t1;
+ break;
+ }
+ retval = write(s, " ", 1);
Shouldn't you check connect return value, at least just before write?
+ if (((rtt * 2) - (my_gettimeofday() - t1)) <= 0) {
You mean, if (rtt * 2 <= my_gettimeofday() - t1) ?
+ /* Double rtt to try to avoid some false negative
results */
+ /* on ports due to network performance decrease.
*/
Where is the code which does this doubling? comment imply that rtt *= 2,
but there is no such line.
It's good that you added these comments,
but explanation is not clear enough (at least for me).
Care to improve?
--
vda
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox