{"id":24,"date":"2025-11-20T07:57:17","date_gmt":"2025-11-20T07:57:17","guid":{"rendered":"https:\/\/www.aliburaksan.com\/blog\/?p=24"},"modified":"2025-11-22T03:54:00","modified_gmt":"2025-11-22T03:54:00","slug":"python-ile-kendi-port-tarayicinizi-yapin","status":"publish","type":"post","link":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/","title":{"rendered":"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n!"},"content":{"rendered":"<p>Merhaba sekt\u00f6rdeki de\u011ferli meslekta\u015flar\u0131m!<\/p>\n<p>Bir IT uzman\u0131 olarak, her ge\u00e7en g\u00fcn yeni bir \u015feyler \u00f6\u011frenmeye ve bu \u00f6\u011frendiklerimi pratikle birle\u015ftirmeye bay\u0131l\u0131yorum. \u00d6zellikle Python gibi \u00e7ok y\u00f6nl\u00fc bir dil, kar\u015f\u0131la\u015ft\u0131\u011f\u0131m bir\u00e7ok soruna basit ve etkili \u00e7\u00f6z\u00fcmler \u00fcretmeme olanak tan\u0131yor. Bug\u00fcn de sizlerle, bir IT uzman\u0131n\u0131n \u00e7antas\u0131nda bulunmas\u0131 gereken, hem temel hem de \u00e7ok faydal\u0131 bir arac\u0131, &#8220;Python ile Basit Port Scanner Yap\u0131m\u0131&#8221;n\u0131 konu\u015fmak istiyorum.<\/p>\n<h2>Neden Bir Port Scanner&#8217;a \u0130htiyac\u0131m\u0131z Var?<\/h2>\n<p>Diyelim ki yeni bir sunucu kurdunuz veya mevcut bir sunucunun g\u00fcvenlik yap\u0131land\u0131rmas\u0131n\u0131 kontrol ediyorsunuz. Bu sunucu \u00fczerinde hangi servislerin hangi portlardan d\u0131\u015far\u0131ya a\u00e7\u0131k oldu\u011funu bilmek, sadece bir g\u00fcvenlik denetimi de\u011fil, ayn\u0131 zamanda olas\u0131 a\u011f sorunlar\u0131n\u0131 gidermek i\u00e7in de hayati \u00f6neme sahip. Veya bir uygulama \u00e7al\u0131\u015fm\u0131yor, acaba gerekli portu dinlemiyor mu, yoksa bir g\u00fcvenlik duvar\u0131 m\u0131 engelliyor? \u0130\u015fte bu noktada bir port taray\u0131c\u0131 devreye giriyor.<\/p>\n<p>Piyasada <strong>Nmap<\/strong> gibi harika ve kapsaml\u0131 ara\u00e7lar var, kabul ediyorum. Ancak bazen, h\u0131zl\u0131ca bir kontrol yapmak veya Nmap&#8217;in t\u00fcm \u00f6zelliklerine ihtiya\u00e7 duymadan kendi senaryomuz i\u00e7in \u00f6zelle\u015ftirilmi\u015f, hafif bir ara\u00e7 geli\u015ftirmek isteyebiliriz. Ya da en \u00f6nemlisi, bir \u015feyin &#8220;nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131&#8221; anlayarak kendi bilgimizi peki\u015ftirmek isteyebiliriz. Benim i\u00e7in bu durum, ge\u00e7ti\u011fimiz g\u00fcnlerde kendi lab ortam\u0131mda bir servis deploy ederken do\u011fan bir ihtiya\u00e7la ba\u015flad\u0131. Hangi portlar\u0131n ger\u00e7ekten eri\u015filebilir oldu\u011funu h\u0131zl\u0131ca g\u00f6rmem gerekiyordu ve bu basit script imdad\u0131ma yeti\u015fti.<\/p>\n<h2>Peki, Bu Port Scanner Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<p>Temel olarak, bir port taray\u0131c\u0131, belirtilen bir IP adresindeki belirli portlara ba\u011flant\u0131 kurmaya \u00e7al\u0131\u015f\u0131r. \u0130\u015fin \u00f6z\u00fc, <strong>TCP el s\u0131k\u0131\u015fmas\u0131 (three-way handshake)<\/strong> prensibine dayan\u0131r. Bir port taray\u0131c\u0131, hedef portlara bir SYN paketi g\u00f6nderir:<\/p>\n<ul>\n<li>E\u011fer port a\u00e7\u0131ksa, sunucu bir SYN-ACK paketiyle yan\u0131t verir. Bu durumda taray\u0131c\u0131, portun a\u00e7\u0131k oldu\u011funu anlar ve ba\u011flant\u0131y\u0131 RST (reset) paketiyle sonland\u0131r\u0131r (tam bir ba\u011flant\u0131 kurmaya gerek kalmadan).<\/li>\n<li>E\u011fer port kapal\u0131ysa, sunucu genellikle bir RST paketiyle yan\u0131t verir.<\/li>\n<li>E\u011fer ortada bir g\u00fcvenlik duvar\u0131 (firewall) varsa ve bu portu filtrelendiyse, herhangi bir yan\u0131t gelmeyebilir (SYN paketine yan\u0131t yok) veya bir ICMP Destination Unreachable mesaj\u0131 gelebilir.<\/li>\n<\/ul>\n<p>Python&#8217;da bu i\u015flemi ger\u00e7ekle\u015ftirmek i\u00e7in <code>socket<\/code> mod\u00fcl\u00fcn\u00fc kullan\u0131r\u0131z. \u00d6zellikle <code>socket.socket().connect_ex()<\/code> metodu, bize ba\u011flant\u0131 denemesinin sonucunu (ba\u015far\u0131l\u0131 m\u0131 ba\u015far\u0131s\u0131z m\u0131) bir hata kodu olarak d\u00f6nd\u00fcrd\u00fc\u011f\u00fc i\u00e7in olduk\u00e7a i\u015fimize yarar. 0 de\u011feri ba\u015far\u0131l\u0131 ba\u011flant\u0131y\u0131, di\u011fer de\u011ferler ise farkl\u0131 hatalar\u0131 (\u00f6rne\u011fin ba\u011flant\u0131 reddi) g\u00f6sterir.<\/p>\n<h2>Uygulama: Python ile Basit Port Scanner Kodu<\/h2>\n<p>\u015eimdi gelelim kod k\u0131sm\u0131na. Amac\u0131m\u0131z, kullan\u0131c\u0131dan bir hedef IP adresi ve taramak istedi\u011fi port aral\u0131\u011f\u0131n\u0131 almak ve bu portlar\u0131 tarayarak a\u00e7\u0131k olanlar\u0131 listelemek.<\/p>\n<pre><code>\nimport socket\nimport sys\nfrom datetime import datetime\n\n# Hedef IP adresi\ntarget = input(\"Taranacak IP adresini girin: \")\ntarget_ip = socket.gethostbyname(target) # Host ad\u0131n\u0131 IP'ye \u00e7evirir\n\n# Port aral\u0131\u011f\u0131\ntry:\n    start_port = int(input(\"Ba\u015flang\u0131\u00e7 port numaras\u0131n\u0131 girin: \"))\n    end_port = int(input(\"Biti\u015f port numaras\u0131n\u0131 girin: \"))\nexcept ValueError:\n    print(\"Hata: Ge\u00e7ersiz port numaras\u0131 girdiniz. L\u00fctfen say\u0131sal bir de\u011fer girin.\")\n    sys.exit()\n\n# Tarama ba\u015flang\u0131\u00e7 zaman\u0131\nprint(\"-\" * 50)\nprint(f\"Hedef: {target_ip}\")\nprint(f\"Tarama Ba\u015flad\u0131: {datetime.now()}\")\nprint(\"-\" * 50)\n\n# Socket timeout'unu ayarla (\u00e7ok uzun beklememesi i\u00e7in)\nsocket.setdefaulttimeout(1) # 1 saniye bekleme s\u00fcresi\n\nopen_ports = []\n\ntry:\n    for port in range(start_port, end_port + 1):\n        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # IPv4, TCP soketi\n        result = sock.connect_ex((target_ip, port)) # Ba\u011flant\u0131 denemesi yap\n\n        if result == 0:\n            print(f\"Port {port}: A\u00e7\u0131k\")\n            open_ports.append(port)\n        sock.close()\n\nexcept KeyboardInterrupt:\n    print(\"\\nTarama kullan\u0131c\u0131 taraf\u0131ndan iptal edildi.\")\n    sys.exit()\nexcept socket.gaierror:\n    print(\"Host ad\u0131 \u00e7\u00f6z\u00fcmlenemedi. L\u00fctfen do\u011fru bir IP adresi veya hostname girin.\")\n    sys.exit()\nexcept socket.error:\n    print(\"Sunucuya ba\u011flan\u0131lamad\u0131.\")\n    sys.exit()\n\n# Tarama biti\u015f zaman\u0131\nprint(\"-\" * 50)\nprint(f\"Tarama Bitti: {datetime.now()}\")\nprint(\"-\" * 50)\n\nif open_ports:\n    print(\"A\u00e7\u0131k Portlar:\")\n    for p in open_ports:\n        print(f\"- {p}\")\nelse:\n    print(\"Belirtilen aral\u0131kta a\u00e7\u0131k port bulunamad\u0131.\")\n<\/code><\/pre>\n<p>Bu kod par\u00e7as\u0131, belirtilen IP \u00fczerindeki her bir port i\u00e7in bir TCP soketi olu\u015fturur ve ba\u011flant\u0131 kurmaya \u00e7al\u0131\u015f\u0131r. <code>connect_ex()<\/code> metodu bize 0 (ba\u015far\u0131l\u0131) veya ba\u015fka bir hata kodu d\u00f6nd\u00fcr\u00fcr. B\u00f6ylece portun a\u00e7\u0131k olup olmad\u0131\u011f\u0131n\u0131 anlar\u0131z.<\/p>\n<h2>Kar\u015f\u0131la\u015f\u0131lan Zorluklar ve Dikkat Edilmesi Gerekenler<\/h2>\n<p>Bu basit port taray\u0131c\u0131s\u0131n\u0131 yazarken veya kullan\u0131rken birka\u00e7 \u00f6nemli noktaya dikkat etmek gerekiyor:<\/p>\n<ul>\n<li><strong>G\u00fcvenlik Duvarlar\u0131 (Firewallar):<\/strong> Yazd\u0131\u011f\u0131m\u0131z bu basit taray\u0131c\u0131, bir portun &#8220;kapal\u0131&#8221; m\u0131 yoksa bir g\u00fcvenlik duvar\u0131 taraf\u0131ndan &#8220;filtrelenmi\u015f&#8221; mi oldu\u011funu her zaman net bir \u015fekilde ay\u0131rt edemez. Filtrelenmi\u015f bir port, hi\u00e7 yan\u0131t vermeyebilir ve bizim taray\u0131c\u0131m\u0131z onu sadece &#8220;a\u00e7\u0131k de\u011fil&#8221; olarak alg\u0131layabilir. Daha geli\u015fmi\u015f ara\u00e7lar (Nmap gibi) bu ayr\u0131m\u0131 yapabilen farkl\u0131 tarama teknikleri kullan\u0131r.<\/li>\n<li><strong>Zaman A\u015f\u0131m\u0131 (Timeout):<\/strong> Her ba\u011flant\u0131 denemesi i\u00e7in sonsuza kadar beklemek istemeyiz. Kodu incelerseniz, <code>socket.setdefaulttimeout(1)<\/code> sat\u0131r\u0131n\u0131 g\u00f6receksiniz. Bu, bir ba\u011flant\u0131 denemesinin en fazla 1 saniye beklemesini sa\u011flar. E\u011fer hedef sunucu yan\u0131t vermiyorsa, bu s\u00fcre sonunda ba\u011flant\u0131 denemesi ba\u015far\u0131s\u0131z say\u0131l\u0131r. Bu de\u011feri, a\u011f\u0131n\u0131z\u0131n durumuna g\u00f6re optimize etmeniz gerekebilir.<\/li>\n<li><strong>Performans:<\/strong> B\u00fcy\u00fck port aral\u0131klar\u0131n\u0131 tararken bu tek i\u015f par\u00e7ac\u0131kl\u0131 (single-threaded) script yava\u015f kalabilir. Binlerce portu taramak dakikalar hatta daha uzun s\u00fcrebilir. Daha h\u0131zl\u0131 taramalar i\u00e7in \u00e7oklu i\u015f par\u00e7ac\u0131\u011f\u0131 (multi-threading) veya asenkron programlama (asyncio) gibi teknikleri ara\u015ft\u0131rman\u0131z gerekebilir.<\/li>\n<li><strong>Yasal ve Etik Sorumluluklar:<\/strong> Unutmay\u0131n, port taramas\u0131 potansiyel olarak k\u00f6t\u00fcye kullan\u0131labilecek bir eylemdir. Yaln\u0131zca kendi a\u011flar\u0131n\u0131zda veya izniniz olan sistemlerde kullanmal\u0131s\u0131n\u0131z. \u0130zinsiz taramalar yasa d\u0131\u015f\u0131d\u0131r ve etik d\u0131\u015f\u0131d\u0131r. Bu konuyla alakal\u0131 sorumluluk kabul edilmez!<\/li>\n<\/ul>\n<h2>Sonu\u00e7<\/h2>\n<p>Python ile bu basit port taray\u0131c\u0131s\u0131n\u0131 yazmak, hem a\u011f protokollerinin temel i\u015fleyi\u015fini anlamak hem de Python&#8217;\u0131n <code>socket<\/code> mod\u00fcl\u00fcn\u00fcn g\u00fcc\u00fcn\u00fc g\u00f6rmek a\u00e7\u0131s\u0131ndan harika bir deneyim oldu. Belki Nmap kadar kapsaml\u0131 de\u011fil ama ihtiyac\u0131m\u0131z olan temel bilgiyi h\u0131zl\u0131ca sa\u011flamak i\u00e7in son derece pratik ve \u00f6\u011fretici bir ara\u00e7.<\/p>\n<p>Bu gibi basit scriptler, bir IT uzman\u0131n\u0131n problem \u00e7\u00f6zme yetene\u011fini geli\u015ftirmesine ve mevcut ara\u00e7lar\u0131 derinlemesine anlamas\u0131na yard\u0131mc\u0131 olur. Kendi ba\u015f\u0131n\u0131za bir \u015feyler in\u015fa etmek, k\u00fct\u00fcphanelerin ve mod\u00fcllerin perde arkas\u0131nda neler d\u00f6nd\u00fc\u011f\u00fcn\u00fc daha iyi kavraman\u0131n en iyi yoludur. Siz de bu kodu al\u0131p daha da geli\u015ftirebilir, \u00f6rne\u011fin servis tespiti (hangi portta hangi servis \u00e7al\u0131\u015f\u0131yor) ekleyebilir veya performans\u0131 art\u0131rmak i\u00e7in multi-threading kullanabilirsiniz. Unutmay\u0131n, \u00f6\u011frenme s\u00fcreci hi\u00e7 bitmiyor!<\/p>\n<p>Bir sonraki blog yaz\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere, kodla kal\u0131n!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python ile kendi Port Taray\u0131c\u0131n\u0131z\u0131 yaparken kar\u015f\u0131la\u015f\u0131lan zorluklar ve dikkat edilmesi gerekenler.<\/p>\n","protected":false},"author":1,"featured_media":74,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[14,15,9],"class_list":["post-24","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-yazilim-otomasyon","tag-port-scanner","tag-port-tarayici","tag-python"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n! - Ali Burak \u015ean<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n! - Ali Burak \u015ean\" \/>\n<meta property=\"og:description\" content=\"Python ile kendi Port Taray\u0131c\u0131n\u0131z\u0131 yaparken kar\u015f\u0131la\u015f\u0131lan zorluklar ve dikkat edilmesi gerekenler.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/\" \/>\n<meta property=\"og:site_name\" content=\"Ali Burak \u015ean\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-20T07:57:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-22T03:54:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"764\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"abs_administrator45_\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"abs_administrator45_\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/\"},\"author\":{\"name\":\"abs_administrator45_\",\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2\"},\"headline\":\"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n!\",\"datePublished\":\"2025-11-20T07:57:17+00:00\",\"dateModified\":\"2025-11-22T03:54:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/\"},\"wordCount\":1001,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2\"},\"image\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png\",\"keywords\":[\"port scanner\",\"port taray\u0131c\u0131\",\"python\"],\"articleSection\":[\"Yaz\u0131l\u0131m &amp; Otomasyon\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/\",\"url\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/\",\"name\":\"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n! - Ali Burak \u015ean\",\"isPartOf\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png\",\"datePublished\":\"2025-11-20T07:57:17+00:00\",\"dateModified\":\"2025-11-22T03:54:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage\",\"url\":\"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png\",\"contentUrl\":\"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png\",\"width\":1100,\"height\":764},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/www.aliburaksan.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#website\",\"url\":\"https:\/\/www.aliburaksan.com\/blog\/\",\"name\":\"Dijital Nab\u0131z \u2013 IT Haberleri\",\"description\":\"IT, Sistem Y\u00f6netimi ve Teknoloji G\u00fcnl\u00fc\u011f\u00fc\",\"publisher\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.aliburaksan.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2\",\"name\":\"abs_administrator45_\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0f7cbec178a59b3ec0e9b0732417e32803d988a369cc745ef68a7143376120ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0f7cbec178a59b3ec0e9b0732417e32803d988a369cc745ef68a7143376120ab?s=96&d=mm&r=g\",\"caption\":\"abs_administrator45_\"},\"logo\":{\"@id\":\"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/www.aliburaksan.com\/blog\"],\"url\":\"https:\/\/www.aliburaksan.com\/blog\/author\/abs_administrator45_\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n! - Ali Burak \u015ean","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/","og_locale":"tr_TR","og_type":"article","og_title":"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n! - Ali Burak \u015ean","og_description":"Python ile kendi Port Taray\u0131c\u0131n\u0131z\u0131 yaparken kar\u015f\u0131la\u015f\u0131lan zorluklar ve dikkat edilmesi gerekenler.","og_url":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/","og_site_name":"Ali Burak \u015ean","article_published_time":"2025-11-20T07:57:17+00:00","article_modified_time":"2025-11-22T03:54:00+00:00","og_image":[{"width":1100,"height":764,"url":"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png","type":"image\/png"}],"author":"abs_administrator45_","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"abs_administrator45_","Tahmini okuma s\u00fcresi":"5 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#article","isPartOf":{"@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/"},"author":{"name":"abs_administrator45_","@id":"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2"},"headline":"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n!","datePublished":"2025-11-20T07:57:17+00:00","dateModified":"2025-11-22T03:54:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/"},"wordCount":1001,"commentCount":0,"publisher":{"@id":"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2"},"image":{"@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png","keywords":["port scanner","port taray\u0131c\u0131","python"],"articleSection":["Yaz\u0131l\u0131m &amp; Otomasyon"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/","url":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/","name":"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n! - Ali Burak \u015ean","isPartOf":{"@id":"https:\/\/www.aliburaksan.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage"},"image":{"@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png","datePublished":"2025-11-20T07:57:17+00:00","dateModified":"2025-11-22T03:54:00+00:00","breadcrumb":{"@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#primaryimage","url":"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png","contentUrl":"https:\/\/www.aliburaksan.com\/blog\/wp-content\/uploads\/2025\/11\/port-scanner-konu-basligi-scaled-e1763707978155.png","width":1100,"height":764},{"@type":"BreadcrumbList","@id":"https:\/\/www.aliburaksan.com\/blog\/python-ile-kendi-port-tarayicinizi-yapin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/www.aliburaksan.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python ile Kendi Port Taray\u0131c\u0131n\u0131z\u0131 Yap\u0131n!"}]},{"@type":"WebSite","@id":"https:\/\/www.aliburaksan.com\/blog\/#website","url":"https:\/\/www.aliburaksan.com\/blog\/","name":"Dijital Nab\u0131z \u2013 IT Haberleri","description":"IT, Sistem Y\u00f6netimi ve Teknoloji G\u00fcnl\u00fc\u011f\u00fc","publisher":{"@id":"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.aliburaksan.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/ddc80da203b66794d3a1b568035ff3c2","name":"abs_administrator45_","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0f7cbec178a59b3ec0e9b0732417e32803d988a369cc745ef68a7143376120ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0f7cbec178a59b3ec0e9b0732417e32803d988a369cc745ef68a7143376120ab?s=96&d=mm&r=g","caption":"abs_administrator45_"},"logo":{"@id":"https:\/\/www.aliburaksan.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.aliburaksan.com\/blog"],"url":"https:\/\/www.aliburaksan.com\/blog\/author\/abs_administrator45_\/"}]}},"_links":{"self":[{"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/posts\/24","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/comments?post=24"}],"version-history":[{"count":2,"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/posts\/24\/revisions"}],"predecessor-version":[{"id":230,"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/posts\/24\/revisions\/230"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/media\/74"}],"wp:attachment":[{"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/media?parent=24"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/categories?post=24"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aliburaksan.com\/blog\/wp-json\/wp\/v2\/tags?post=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}