İçeriğe atla

Tcphdr

Tcphdr C programlama dilinde bir yapıdır.Tcphdr yapısı bir sıralı soketteki Tcp başlik formu için kullanılan bir şablondur.Bu yapı birçok Unix versiyonunda tanımlı olarak bulunmaktadır ve genellikle <netinet/tcp.h> başlık dosyasında tutulur.BSD ve Linux olmak üzere iki farklı formatta bulunmaktadır.Melez bir Linux ya da BSD başlık dosyanız varsa,BSD formatında kullanmak için tanımlamanızın başında, add#define_USE_BSD ve #include<netinet/tcp.h> satirindan önce #define_FAVOR_BSD komutlarını kullanmalısınız.(Aksi takdirde Linux tanımlı olacaktır)

Tanım

Linux Format

struct tcphdr {
	unsigned short source;
	unsigned short dest;
	unsigned long seq;
	unsigned long ack_seq;	
	unsigned short doff:4;
	unsigned char syn;
	unsigned short window;	
	unsigned short check;
	unsigned short urg_ptr;
};

BSD Format

struct tcphdr {
	 u_short th_sport;
	 u_short th_dport;
	 tcp_seq th_seq;
	 tcp_seq th_ack;
	 u_int	 th_x2:4,
	 	 th_off:4;
	 u_char	 th_flags;
	 u_short th_win;	
	 u_short th_sum;	
	 u_short th_urp;	
};

Alanlar

u_short th_sport
unsigned short source

Kaynak port.

u_short th_dport
unsigned short dest;

Hedef port.

tcp_seq th_seq
unsigned long seq

Ardişim sayısı TCP segmentlerini birer birer saymak için kullanılır. TCP bağlantısında bulunan veri sıralı ve tanımlı olan herhangi bir bağlantı segmentinde (tcp veri paketi) bulunabilir. Örneğin, her biri 32 byte veri içeren 3 segment gonderirseniz, ilk segmentin numarası (N+), ikincisi (N+)3, üçüncüsü ise (N+)65 olabilir çünkü; başlangıç numarası rastgeledir.

tcp_seq th_ack
unsigned long ack_seq

Gönderilmiş ve gecerli bir bağlantısı olan paketler ACK bayrak setli boş bir TCP segmentinde tanımlanır ve onceki th_seq numarası th_ack alanında tutulur.

u_int th_x2

4 bytelık geçerli bloklarda X2 degişkenler tanımlanamaz bütün değişkenler ikilik tanımlanmalıdır.

u_int th_off
unsigned short doff

32bit/4byte bloklarda TCP başlik dosyasının uzunluğunu offset segmenti belirler.

u_char th_flags
unsigned char flags

Bu alan 6 ikilik bayraktan oluşmaktadır.Bu bayrak kombinasyonları : flags=FLAG1|FLAG2|FLAG3.. seklinde tanımlanır.

TH URG : İvedi. Segmentler daha hızlı yönetilir,bağlantıları sonlandırmada ya da süreçleri durdurmak icin kullanılır.(telnet protokolünü kullanır).
TH ACK : Onay. Veriyi kontrol etmek ve TCP bağlantısının ikinci ve üçüncü evrelerin kurulumu için kullanılır.
TH PUSH: Yürütme.İP sisteminin stacki segmenti arabelleğe almaz ve segmenti direkt olarak uygulamaya gonderecektir(çoğunlukla telnet kullanılır).
TH RST : Yeniden baslatma. Bağlantidaki üyelere bağlantinin sonlanacağını bildirir.
TH SYN : Senkronizasyon. Hedef portla bağlantı kurmak isteyen istemcileri SYN bayraklı bir segment gösterir.
TH FİN : Final. Bağlantı kapatılmalı.
u_short th_win
unsigned short window

TCP penceresi-Segmentleri göndermeden önce bir ACK ile tanımlanan verilerden önce gönderilebilecek byte miktarıdır.

u_short th_sum
unsigned short check

Psedue başlığın sağlaması, TCP başlık ve taşınabilen yük. Psedue ip kaynağını ve hedef adresi içeren bir yapıdır,1 byte sıfırlanır,protokol(6 nın onluk değeri ile 1 byte),ve 2 byte (unsigned short) TCP segmentinin maksimum boyutunu içerir.

u_short th_urp
unsigned short urg_ptr

İvedi işaretçisi.Sadece ivedi bayrağı kuruluysa kullanılır ya da sıfırdır.Öncelikli gönderilmesi gereken verinin kapasitesinin boyutunu gösterir.

Ayrıca bakınız

Kaynakça

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Azerbaycan</span> Güney Kafkasyada bir ülke

Azerbaycan, resmî adıyla Azerbaycan Cumhuriyeti, Batı Asya ile Doğu Avrupa'nın kesişim noktası olan Kafkasya'da yer alan bir ülkedir. Güney Kafkasya'nın en büyük yüz ölçümüne sahip ülkesi olan Azerbaycan'ın doğusunda Hazar Denizi, kuzeyinde Rusya, kuzeybatısında Gürcistan, batısında Ermenistan ve güneyinde İran ile komşudur. Kendisine bağlı olan Nahçıvan Özerk Cumhuriyeti'nin ise kuzey ve doğusu Ermenistan ile, güneyi ve batısı İran ile çevrilmiştir, Türkiye ile 17 km'lik sınırı bulunmaktadır.

<span class="mw-page-title-main">NASA</span> ABDde uzay programı çalışmalarından sorumlu kurum

NASA, Amerika Birleşik Devletleri'nin uzay programı çalışmalarından sorumlu olan kurum. 29 Temmuz 1958 tarihinde ABD Başkanı Dwight Eisenhower tarafından kurulmuştur. Daire, 1 Ekim 1958 tarihinden itibaren askerî amaçlardan ziyade sivil alanda barışçıl bir şekilde faaliyet göstermeye başlamıştır.

<span class="mw-page-title-main">Asal sayı</span> sadece iki pozitif tam sayı böleni olan doğal sayılardır

Bir asal sayı, yalnızca 1'den büyük olup kendisinden küçük iki doğal sayının çarpımı olarak ifade edilemeyen bir doğal sayıdır. 1'den büyük ve asal olmayan doğal sayılara bileşik sayı adı verilir. Örneğin, 5 bir asal sayıdır çünkü onu bir çarpım olarak ifade etmenin mümkün olan yolları, 1 × 5 veya 5 × 1, yalnızca 5 sayısını içermektedir. Ancak, 4 bir bileşik sayıdır çünkü bu, her iki sayının da 4'ten küçük olduğu bir çarpım şeklindedir. Asal sayılar, aritmetiğin temel teoreminden ötürü sayı teorisi alanında merkezi öneme sahiptir: 1'den büyük her doğal sayı, ya bir asal sayıdır ya da asal sayıların çarpımı olarak, sıralamalarından bağımsız bir şekilde, benzersiz olarak çarpanlarına ayrılabilir.

<span class="mw-page-title-main">Sovyetler Birliği</span> Avrasyada hüküm sürmüş eski bir federasyon (1922–1991)

Sovyetler Birliği, resmî adıyla Sovyet Sosyalist Cumhuriyetler Birliği (Rusça:

<span class="mw-page-title-main">TCP</span>

TCP (Transmission Control Protocol), TCP/IP protokol takımının taşıma katmanı protokollerinden birisidir. Son güncellemesi Ağustos 2022 tarihi itibarıyla RFC 9293 içerisinde tanımlanmıştır.

<span class="mw-page-title-main">Kalp krizi</span> Kalbin bir kısmına kan akışının kesilmesi

Kalp krizi, kalp enfarktüsü ya da akut miyokard enfarktüsü, kan akımının azalması veya durması sonucunda koroner arterlerden birinde meydana gelen enfarktüs ile karakterize edilir. Tipik belirtiler arasında, sıklıkla sol omuz, kol veya çeneye yayılan, göğüs kemiğinin arkasında (retrosternal) göğüs ağrısı veya rahatsızlığı bulunur. Bu ağrı, bazen mide yanması gibi algılanabilir.

Nmap, bilgisayar ağları uzmanı Gordon Lyon (Fyodor) tarafından geliştirilmiş bir güvenlik tarayıcısıdır. Taranan ağın haritasını çıkarabilir ve ağ makinalarında çalışan servislerin durumlarını, işletim sistemlerini, portların durumlarını gözlemleyebilir.

<span class="mw-page-title-main">OpenMP</span>

OpenMP; Solaris, IBM AIX, HP-UX, GNU/Linux, MAC OS X ve Windows işletim sistemleri üzerinde çoğu işlemci mimarisi üzerinde Fortran, C++, C programlama dillerinde çoklu platform paylaşımlı bellek çoklu işlemeyi destekleyen bir uygulama geliştirme arayüzüdür, yani bir API'dir. OpenMP derleyici yönergelerinin kütüphane rutinlerini ve ortam değişkenlerinin çalışma zamanı davranışını etkileyen bir kümesini içerir.