{"id":16696424,"url":"https://github.com/hsluoyz/userbridge","last_synced_at":"2025-04-10T02:16:31.537Z","repository":{"id":99866443,"uuid":"51820630","full_name":"hsluoyz/UserBridge","owner":"hsluoyz","description":"A user-mode bridge based on Npcap/WinPcap","archived":false,"fork":false,"pushed_at":"2023-06-17T18:46:11.000Z","size":12,"stargazers_count":25,"open_issues_count":0,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-10T02:16:23.668Z","etag":null,"topics":["bridge","firewall","npcap","npcap-sdk","packets","winpcap"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hsluoyz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-16T08:39:20.000Z","updated_at":"2025-01-31T03:19:48.000Z","dependencies_parsed_at":"2024-12-03T15:49:10.852Z","dependency_job_id":null,"html_url":"https://github.com/hsluoyz/UserBridge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsluoyz%2FUserBridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsluoyz%2FUserBridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsluoyz%2FUserBridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsluoyz%2FUserBridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hsluoyz","download_url":"https://codeload.github.com/hsluoyz/UserBridge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248142906,"owners_count":21054672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bridge","firewall","npcap","npcap-sdk","packets","winpcap"],"created_at":"2024-10-12T17:28:30.013Z","updated_at":"2025-04-10T02:16:31.508Z","avatar_url":"https://github.com/hsluoyz.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UserBridge\nA user-mode bridge based on [Npcap](https://github.com/nmap/npcap)/[WinPcap](https://www.winpcap.org)\n\n# Build\n\n1. Get [WinPcap 4.1.2 Developer's Pack](https://www.winpcap.org/devel.htm)\n2. Build ``UserBridge.sln`` with **Visual Studio 2013**\n\n# Usage\nLaunch the executable ``UserBridge.exe``, you will see a list of adapters like:\n```\n1. Network adapter 'Microsoft' on local host\n2. Network adapter 'Intel(R) 82574L Gigabit Network Connection' on local host\n3. Network adapter 'MS NDIS 6.0 LoopBack Driver' on local host\n\nSpecify filter (hit return for no filter):\n```\n\nPress ``Enter``.\n\n```\nEnter the number of the first interface to use (1-3):\n```\n\nType in the index of the first adapter and press ``Enter``.\n\n```\nEnter the number of the second interface to use (1-3):\n```\n\nType in the index of the second adapter and press ``Enter``.\n\n```\nStart bridging the two adapters...\n```\n\nIf the bridging succeeds, you will see a lot of lines coming up in the prompt like:\n\n```\n\u003e\u003e Len: 142\n\u003e\u003e Len: 94\n\u003e\u003e Len: 142\n\u003e\u003e Len: 142\n\u003e\u003e Len: 94\n\u003c\u003c Len: 142\n\u003c\u003c Len: 142\n\u003c\u003c Len: 142\n\u003c\u003c Len: 94\n\u003c\u003c Len: 142\n\u003c\u003c Len: 142\n\u003c\u003c Len: 142\n\u003c\u003c Len: 142\n\u003c\u003c Len: 142\n```\n\nAll these lines show the traffic flow handled by the bridge. Line ``Len: 142`` means there's a packet with 142 bytes is handled.\n\n# How to make a bridge?\nIf you want all received traffic on ``Adapter A`` seems like to be received on ``Adapter B``, and all traffic sent out from ``Adapter B`` to be actually sent out from ``Adapter A``, you can realize this by using ``UserBridge`` and ``Npcap``. You need to do two steps:\n\n1. Specify ``Adapter B`` as a ``Send-to-Rx`` adapter in ``Npcap`` (see [v0.05-r6](https://github.com/nmap/npcap/releases/tag/v0.05-r6) and [v0.05-r7](https://github.com/nmap/npcap/releases/tag/v0.05-r7) for ``Send-to-Rx``'s details).\n2. Specify ``Adapter A`` as the first interface and ``Adapter B`` as the second interface in ``UserBridge``.\n\n# How to make a firewall?\nIf you want all received traffic on ``Adapter A`` get filtered by ``UserBridge``, and drop the packets you don't want like a firewall. You need to do two steps:\n\n1. Specify ``Adapter A`` as both a ``Block-Rx`` and a ``Send-to-Rx`` adapter in ``Npcap`` (see [v0.05-r11](https://github.com/nmap/npcap/releases/tag/v0.05-r11) for ``Block-Rx``'s details).\n2. Specify ``Adapter A`` as both the first interface and second interface in ``UserBridge``.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsluoyz%2Fuserbridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsluoyz%2Fuserbridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsluoyz%2Fuserbridge/lists"}