0

I am trying to upload a file to an FTP site from a custom SharePoint workflow. When I enable all incoming TCP traffic on all ports from any program, the file uploads just fine (or if I disable Windows Firewall) but that is a little too broad and I would like to know the specific service or assembly that handles incoming TCP traffic to SharePoint.

Anyone have any ideas?

2
  • You mean outgoing traffic from SharePoint, if you're FTP'ing out elsewhere?
    – James Love
    Commented Jul 22, 2011 at 22:50
  • That's what I originally thought, but I believe Windows Firewall is stopping incoming traffic. I believe its incoming traffic because when I created the custom rule to allow all incoming TCP traffic from any program on any port from any IP address, it worked. Commented Jul 22, 2011 at 22:57

2 Answers 2

4

I think there is a misconception here that there is something called SharePoint "running" and responding to requests. What you have running is IIS which is handling incoming requests. SharePoint handlers are installed in the ASP.NET pipeline to process the requests but it is the w3wp IIS worker process that is listening for them.

While that is the answer to your question, I am afraid I don't think it helps you solve the problem you described.

0

FTP by default utilizes active-mode, which can cause issues because of the way FTP works. The problem is generally with the client. When the first request is sent to the server, the client sends information containing the port that it wishes to use to receive the file from the server. This is done on port 21. The server responds back to the client over the port the client specified (not 21). The client firewall will see this as unsolicited and drop the connection.

Because of this, I'm assuming the FTP service you are connecting to resides on the same server.

Regardless, you have a few things you can do.

  1. enable firewall logging, you should be able to see the attempted connections being blocked and you could modify your rules accordingly.

If you cant get enough information from the logs:

  1. Use a tool to watch the traffic (Fiddler, NetMon, WireShark). Since you can recreate the situation, you can see what a good connection will look like, and what the bad ones look like. From here you can see where the issue is occurring ( request or response side). These captures will also assist in configuring your firewall.
1
  • Thank you for your response. I disabled passive mode in code. I've been using WireShark to get some more info and it appears that it is a client side issue. Commented Jul 25, 2011 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.