ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] Plan to make NPcap available for Wireshark

From: Yang Luo <hsluoyb@xxxxxxxxx>
Date: Wed, 8 Jul 2015 12:14:33 +0800


On Wed, Jul 8, 2015 at 12:56 AM, Guy Harris <guy@xxxxxxxxxxxx> wrote:

On Jul 7, 2015, at 8:56 AM, Joerg Mayer <jmayer@xxxxxxxxx> wrote:

> While I understand the logic behind our argument, I don't agree with it:
> With the possibility of winpcap and npcap diverging, that may at one point
> in time mean diverging and incompatible APIs. Also, what happens if a user
> wants to use Wireshark with winpcap and also wants to use npcap? Does your
> proposal have a solution to this?

I would hope that the long term plan is to incorporate NPcap's capabilities into WinPcap, now that the WinPcap development process is being opened up.  That would presumably mean that, in the long term, there's only one library, with one API.

There isn't a second API actually for now, if you mean the interface user software and WinPcap (Npcap) talks with each other.
IMO the API is the wpcap.dll's name and functions. Actually Npcap didn't change one line of code in wpcap.dll source. So I think Npcap now is still sharing the same API with WinPcap. The problem that Npcap can't be used by Wireshark is just because some hard-coding things. The hard-coded paths, the hard-coded driver service name. These are not part of the API. The only API is the wpcap.dll's file name and its exported functions. Maybe WinPcap can unify the API interface in next release, so it will be easy for other alternatives like Npcap to follow.

(I'd also hope that the libpcap part of the code will just be taken from the libpcap tree, so that the only APIs *not* shared between libpcap and WinPcap would be the Windows-specific ones - although many of those are in the libpcap source - and whatever we export from Packet.dll, although Packet.dll explicitly does *not* offer a stable API.)
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe