Go Down

Topic: Wieso geht Port 25 nicht ???!! (geht doch... Antivirus hats geblock ) (Read 952 times) previous topic - next topic

sven1977

Hey,
ich wollte mir nen Emailserver basteln. Das habe ich damals schon recht gut mit BASCOM hinbekommen.
Leider bin ich kein Arduinoprofi und muss mich noch etwas in die Programmierung durchfummeln.

Ich habe das Beispiel ChatServer mal auf mein Arduino gespielt. Soweit funktioniert auch alles.
Nun wollte ich nur mal den Port auf 25 ändern und ich bekomme mit Putty keine Verbindung mehr.

Ändere ich den Port auf 23 oder 1234 etc. kann ich mir Putty verbinden.

An meiner Firewall kann auch nicht liegen. Denn ich kann mit Putty auf meinen Stratoserver
connecten. Ich habe auch mein Router abgeklemmt und mein Arduino direct an den PC gesteckt.
Das gleiche Problem :(

Weiss jemand wo ran das liegen kann ?

Vielen Dank

"Hab gerade mit nem Portscanner den Port 25 überprüft. Der soll offen sein.... Aber ich komm nicht rauf :("

pylon

Poste den Code, den Du verwendest (Code-Tags nicht vergessen)!

Ich gehe mal davon aus, da Du keine Angaben zur verwendeten Hardware machst, dass Du einen Arduino UNO mit dem originalen Arduino Ethernet Shield verwendest. Stimmt das?

amusefish

Hallo,
meines Wissens ist doch der Port 25 für das Simple Mail Transfer Protocol (SMTP) reserviert.

MfG
amusefish

sven1977

Ich habe ein Arduino Mega mit dem Ethernetshild. Und der Code ist ein Beispiel von Arduino (Datei/Beispiele/Ethernet/ChatServer).
So funktiniert es auch ( EthernetServer server(23); )
Es funktioniert auch mit einem anderen Port.
Nur wenn ich den Port auf 25 stelle komme ich nicht mehr mit Putty rauf (EthernetServer server(25); ).

Ich möchte mir gerne ein Emailserver machen... Dafür brauche ich den Port 25 um ankommende Email entgegen zu nehmen.
Aber ich bekomme nur keine Verbindung :(

Wenn der Port reserviert ist, müsste ich den doch auch frei machen können :(

pylon

Quote
Und der Code ist ein Beispiel von Arduino (Datei/Beispiele/Ethernet/ChatServer).


Das war mir schon klar, aber ich möchte genau den Code sehen, der bei Dir nicht funktioniert, denn der Beispielcode funktioniert ja, nach Deinen Aussagen.

Quote
Ich möchte mir gerne ein Emailserver machen


Du bist Dir schon im Klaren, dass Du von einem embedded 8-bit-System mit 8kB RAM sprichst? Einen brauchbaren SMTP-Server wirst Du damit nicht hinkriegen, selbst wenn Du intensiv von der SD-Karte Gebrauch machst. Und ein Email-Server kann normalerweise ausser SMTP noch mindestens POP/IMAP.

Quote
Wenn der Port reserviert ist, müsste ich den doch auch frei machen können


Der Port ist nicht im Arduino reserviert, sondern im Internet. Genaugenommen ist er nicht mal reserviert, sondern einfach der Standardport, auf welchem normalerweise ein SMTP-Server lauscht.
Wenn Du nicht durchkommst, hat das entweder mit Deinem Code zu tun oder Deine Firewall im Router bzw. PC-OS sperrt diesen Port. Da er häufig für SPAM von Trojanern missbraucht wird, sperren viele sog. Internet Security Tools unter Windows diesen Port grundsätzlich (mit Ausnahme speziell zugelassener Software).

sven1977

Hey,
also hier der Code:
Code: [Select]
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,2, 10);
IPAddress gateway(192,168,2, 1);
IPAddress subnet(255, 255, 0, 0);


// telnet defaults to port 23
EthernetServer server(25);
boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
  // initialize the ethernet device
  Ethernet.begin(mac, ip, gateway, subnet);
  // start listening for clients
  server.begin();
// Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Chat server address:");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // wait for a new client:
  EthernetClient client = server.available();

  // when the client sends the first byte, say hello:
  if (client) {
    if (!alreadyConnected) {
      // clead out the input buffer:
      client.flush();   
      Serial.println("We have a new client");
      client.println("Hello, client!");
      alreadyConnected = true;
    }

    if (client.available() > 0) {
      // read the bytes incoming from the client:
      char thisChar = client.read();
      // echo the bytes back to the client:
      server.write(thisChar);
      // echo the bytes to the server as well:
      Serial.write(thisChar);
    }
  }
}


Das einzige was ich geändert habe ist von "EthernetServer server(23);" auf "EthernetServer server(25);".
Das mit der Firewall hört sich gut an. Aber dann müsste ich doch eigendlich auch nicht auf meinen Stratoserver kommen.

Nen E-Mail Server habe ich schonmal mit BASCOM gemacht. Das geht wunderbar...

Und die SD-Karte hat auch immer ausgereicht. Der Server ist nur für meine Domain, also maximal 2-5 E-Mail Adressen.
Ich hatte nicht vor nen riesen Mailserver aufzubauen.

Ich habe die Domain jetzt nur noch für meine E-Mail und benutze dafür nen Relay Server. Aber naja....

lg


pylon

Quote
Nen E-Mail Server habe ich schonmal mit BASCOM gemacht. Das geht wunderbar...


Auf welcher Plattform? Auch ein Arduino?

Quote
Der Server ist nur für meine Domain, also maximal 2-5 E-Mail Adressen.
Ich hatte nicht vor nen riesen Mailserver aufzubauen.


Einen riesen Mailserver hatte ich auch nicht angedacht. Aber wie sollen die Mails geholt werden? Soll auch ein POP-Server mitlaufen?

Wäre nicht ein Mailserver auf einem Router mit OpenWRT (o.ä., Raspberry Pi und Co geht natürlich auch) schneller, eleganter und vor allem standard-konformer? Ich weiss, selber programmiert ist viel interessanter, aber dafür gibt's genug andere Betätigungsfelder.

Quote
Das mit der Firewall hört sich gut an. Aber dann müsste ich doch eigendlich auch nicht auf meinen Stratoserver kommen.


Ich kenne die Regeln Deiner Firewall nicht, aber es könnte durchaus sein, dass nur das lokale Netz gesperrt ist. Ich würde mal kurz alle Firewalls deaktivieren, die zwischen dem PC und dem Arduino liegen könnten. Zudem würde ich mit dem Kommandozeilen-Programm telnet versuchen (muss bei Win 7 evtl. nachinstalliert werden), einfach um Filter von Putty vorzubeugen. Im Zweifelsfall ein Sniffing-Tool wie WireShark verwenden, um den Netzverkehr mitzuschneiden, dann siehst Du, was rausgeht und was nicht.

sven1977

#7
Nov 27, 2012, 12:02 pm Last Edit: Nov 27, 2012, 12:25 pm by sven1977 Reason: 1
War keine Plattform.
Das war ein Board was ich mal selber bebaut habe. Der Ethernet Chip war auch ein W3100A.
Also ein älteres Model ;)

Ich möchte einen eigenständigen Mail Server machen. POP3 und SMTP. Die Protokolle sind
simpel und hab das schon mit Perl getestet.

Aber ich habe mal deinen Vorschlag mit der Firewall geprüft. Also einfach mein altes Laptop
raus und Putty gestartet... Und schwuppp bin drauf...

Ich habe auf meinen Rechner Avast Antivirus drauf und der block local Lan den Port 25 :D

Also es geehhht... und kann loslegen :D

Vielen Dank.... Währe wohl nie darauf gekommen.... Nur wegen dem AntiVirus......

Go Up