Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# HttpListener and Windows Firewall

One of the programs i am working on has a built in webserver, meant to only handle very specific requests (static). Unlike a TcpListener, when the HttpListener is started, The user is NOT prompted to allow which networks the program is allowed to listen on. This is causing a big issue as the program needs to listen for remote connections, which are now being denied by the windows firewall.

If i make a new rule in the windows firewall, and select my program under "Programs and Services", windows will still deny all remote connections... but if I select "All programs that meet the specified conditions", then it works just fine. My question is why? Why does the firewall deny my application when its specifically selected? And how come the user doesnt get prompted with the Firewall Security screen like with other Listeners?

like image 602
Wilson212 Avatar asked Jul 25 '13 16:07

Wilson212


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

What is the full name of C?

In the real sense it has no meaning or full form. It was developed by Dennis Ritchie and Ken Thompson at AT&T bell Lab. First, they used to call it as B language then later they made some improvement into it and renamed it as C and its superscript as C++ which was invented by Dr.

What is C in C language?

What is C? C is a general-purpose programming language created by Dennis Ritchie at the Bell Laboratories in 1972. It is a very popular language, despite being old. C is strongly associated with UNIX, as it was developed to write the UNIX operating system.

Is C language easy?

C is a general-purpose language that most programmers learn before moving on to more complex languages. From Unix and Windows to Tic Tac Toe and Photoshop, several of the most commonly used applications today have been built on C. It is easy to learn because: A simple syntax with only 32 keywords.


1 Answers

This is because HttpListener is built on top of http.sys which will listen on the port you specified on behalf of your program.

I haven't found a way to allow only a single program using HttpListener through the Windows Firewall, but you might want to limit your inbound rule to system components only by:

  • Entering typing system in the field "This program" in the tab "Program and services"
  • Selecting protocol type TCP in the tab "Protocols and Ports" together with the port you will be listening on
like image 126
Pieter Avatar answered Oct 10 '22 23:10

Pieter