On Mon, Dec 17, 2018 at 06:05:00PM +0100, Sebastian Benoit wrote:
> Sebastian Benoit([email protected]) on 2018.12.17 17:59:49 +0100:
> > Claudio Jeker([email protected]) on 2018.12.17 08:25:07 +0100:
> > > On Sun, Dec 16, 2018 at 05:09:06PM -0500, Ted Unangst wrote:
> > > > Claudio Jeker wrote:
> > > > > On Fri, Dec 14, 2018 at 01:26:25PM -0500, Ted Unangst wrote:
> > > > > > Philip Guenther wrote:
> > > > > > > And, perhaps more directly, how would I block this in pf.conf?
> > > > > > > >
> > > > > > >
> > > > > > > Excellent choice, blocking dhclient from receiving the leases
> > > > > > > that it
> > > > > > > requests.
> > > > > > > "What problem are you trying to solve?"
> > > > > >
> > > > > > Well, this may be something of a lost cause, but I would prefer
> > > > > > that chrome
> > > > > > not listen for stuff I don't understand. It listens on port 5353 as
> > > > > > well, for
> > > > > > mDNS, and I can block that easily enough. It's the socket without a
> > > > > > port
> > > > > > that's giving me trouble.
> > > > >
> > > > > But a socket without a port is not listening on anything. It will not
> > > > > get
> > > > > any packets. It does not need to be filtered. This is how UDP works,
> > > > > it is
> > > > > a connectionless protocol.
> > > >
> > > > ok, thank you, I was confused because they show up in netstat -ln too.
> > > > I guess
> > > > that's just historic how it is behavior.
> >
> > nothing historic about it, i added -l last year.
> >
> > but i wanted to keep it simple, i thought that its obvious what "listening"
> > sockets mean in this context (i.e. that it only really is a concept in TCP).
> >
> > > I guess we should change that. Problem is that UDP does not support
> > > listen(2) and so there is no listening state. Should netstat exclude all
> > > of UDP when using -l
> >
> > here is a diff for that
> >
> > > or what should it show? Only sockets that are bound
> > > but not connected (local port != 0 but remote addr/port = 0)?
> >
> > see my other mail for that diff.
>
> here. Ok for one or the other?
>
> (netstat_l_udp_only_otherside_zero.diff)
>
> diff --git usr.bin/netstat/inet.c usr.bin/netstat/inet.c
> index e8e2a4dcd4f..d378bfe6280 100644
> --- usr.bin/netstat/inet.c
> +++ usr.bin/netstat/inet.c
> @@ -225,6 +225,7 @@ netdomainpr(struct kinfo_file *kf, int proto)
> int addrlen = 22;
> int isany = 0;
> int istcp = 0;
> + int isudp = 0;
> int isip6 = 0;
>
> /* XXX should fix kinfo_file instead but not now */
> @@ -282,6 +283,7 @@ netdomainpr(struct kinfo_file *kf, int proto)
> case IPPROTO_UDP:
> name = "udp";
> name6 = "udp6";
> + isudp = 1;
> break;
> case IPPROTO_DIVERT:
> name = "divert";
> @@ -303,6 +305,9 @@ netdomainpr(struct kinfo_file *kf, int proto)
> if (!aflag && lflag && istcp &&
> kf->t_state != TCPS_LISTEN)
> return;
> + if (!aflag && lflag && isudp &&
> + (kf->inp_lport == 0 || kf->inp_fport != 0))
> + return;
>
> if (af != kf->so_family || type != kf->so_type) {
> af = kf->so_family;
> @@ -310,7 +315,7 @@ netdomainpr(struct kinfo_file *kf, int proto)
> printf("Active Internet connections");
> if (aflag)
> printf(" (including servers)");
> - else if (lflag)
> + else if (lflag && (istcp||isudp))
Needs some spaces ^^ here
> printf(" (only servers)");
> putchar('\n');
> if (Aflag) {
>
Apart from that OK claudio@
--
:wq Claudio