TCP/IP
ARP c ontinued,ARP c ache pois oning
ARP resolution–the details
First, we' ll look at the format of an ARP message (see text, or look it up ongoogle) .
The protocol has three aspects: it specifies what a requester is to do, what areceiver is to do, and what a responder is to do. A requester is a machine thatsends an ARP request, a receiver is a machine that receives any ARP message, anda responder is a machine that sends an ARP reply.
On our Ethernet network, here' s the process in detail; for a requester:
Create an ARP message:
1. Set HW type to ' 1' (for Ethernet)
2. Set Protocol type to 080016 (for IP)
3. Set HLEN to 6 (6x8=48 bits)
4. Set PLEN to 4 (4x8=32 bits)
5. Set OPERATION to 1 (for ARP request)
6. Fill in SENDER' s HW ADD
7. Fill in SENDER' s PROT ADD
8. Set TARGET HW ADD to 0 (doesn' t know)
9. Fill in TARGET PROT ADD.
Broadcast the ARP message in an Ethernet frame.
For a receiver (of either an ARP request or reply) or responder
Extract the ARP request
If the SENDER' s PROT address in in my cache, update it with the SENDER' s HWaddress and reset the timer on that pairing
If the TARGET PROT address is identical with my IP address, carry on, otherwise,quit
Update my cache (again) , regardless of wh'ether an entry exists for that PROTaddress. (all this is done even if it isn t a request)
[ [Here it would be possible for the arp request to contain a protocol addressidentical with the protocol address of the target. We noted that Windowsoperating systems detect this, and make a note on 'the console. I tested Linux,and i't simply ignores the arp request, i. e. , doesn t generate a reply, anddoesn t update its arp cache. ] ]
If the OPERATION is a request, carry on; otherwise quit.
Fill in TARGET HW address with my Ethernet address, swap SENDER and TARGETaddresses, and set OPERATION to 2
Encapsulate ARP reply in a frame addressed to TARGET HW address.
QUESTIONS
Why does the ARP request recipient try to update its cache twice before evenexamining whether the message is a request? And once before even examiningwhether it is the intended recipient ?
( ( 1st time: save on traffic ) )
( ( 2nd: save repeating the process in reverse ) )
Gratuitous ARP
One other application of ARP that I' ll mention briefly is gratuitous ARP. Some OSs employs ARP to make sure that there are not duplicate IP addresses onthe physical network. (In fact OpenBSD does this. )
It broadcasts an ARP looking for the HW address of itself, i.e. , of its IPaddress.
If it receives a reply, it knows there is another host with its IP address, andputs a message on the console.
ARP Cache Poisoning
- ARP is a protocol which generates mappings between IP addresses and hardwareaddresses
- The basic idea, you will recall, is as follows:
- |A|-------|B|
- Host A wants to talk to host B, but A doesn’ t know B’ s HW addr
- A sends an ARP request to B, containing a mapping between A’ s HW and IPaddr
- B caches this mapping, and returns a reply with its mapping
- Communication proceeds
- There are three aspects to ARP cache poisoning that I want to discuss: (1)
What is it? (2) How do you do it? (3) Why do it?
- (1) ARP cache poisoning is when one machi’ne on a network, s’ay C, causes afalse entry to be placed in another host s, for example C s, ARP cache.- (2) It is very easy to poison ARP caches, and operating systems have triedvarious methods to protect against it, the main one being the creation of an
incomplete entry in the arp cache, and updating according to the steps aboveonly if that incomplete entry exists; this will go some way to protectingagainst unsolicited arp replies. ‘ However’ , this creates a race condition,poisoning i‘s still possible’by spaming unsolicited arp replies, in thehopes of winning the race against legitimate, solicited arp replies.
(3) Poisoning Effects
ARP cache poisoning can be used in various ways, the three most fundamentalof which are:
- (a) Eavesdropping
- Now suppose that an attacker, host C, wants to eavesdrop on communicationbetween host A and host B, but that the LAN is switched Ethernet. (How doesswitched Ethernet work?)
- |A|--------|B|
- |
- |C|
- If’ C could convince A that B’ s HW addr is C’ s, and could convince B thatA s is also C, then all traffic from B to A, and vice versa, would go to C.- Moreover, if C turned on forwarding, and had the correct HW-IP mappings, Cwould in effect become a kind of router between A and B, and would
consequently have access to all communication between A and B.
- The effect of this attack would be the disclosure of potentially confidentialinformation.
- (b) Denial of service
- On the other hand, perhaps C is not interested in eavesdropping, but wouldrather deny A and B the ability to communicate with one another.
- In this case, it would suffice for C to poison A’ s and B’ s caches withmappings eit’her to non-existent hardware addresses, or alternately, again useits own – C s – HW address, and simply not forward (the former makes iteasier for the attacker to hide his/her tracks) .
- (c) Hijacking
- Another possibility is that C is not interested in eavesdropping or DoS, butrather, wants to take over one end of the conversation.
- This would be a kind of combination of the previous two attacks: First, Cwould need to eavesdrop using the method previously outlined.
- Then, after (e.g. ) authentication, C performs a DoS on A, and takes over A’ srole in this 2-way conversation.o (Another example, besides authentication, that A might wait until thetwo hosts are communicating, is in order to sample TCP sequence andacknowledgement numbers, which is necessary in order to successfullyhijack a TCP session. This will make more sense when we come to TCP. )- This is called session hijacking (normally TCP sessions) , and there arevariations on this theme. E.g. , C could maintain the connection between Aand B, yet insert data into the communication channel.
- ARP Poisoning: not just a LAN issue
- These attacks are not limited to hosts on a single LAN. In fact, provided wehave LAN access to anynetwork on the path between A and B, these attacks arepossible.
- Examples:
- C
- |------------
- | |
- A B
- Here we merely poison A and R1.
- C
- |------------R1-----Internet----
- | |
- A B
- Poison B and R2
- C
- |------------R1-----Internet-----R2----R3---------|
- | |
- A B
- Poison R2 and R3
hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...
如今我们还有在做个人网站吗?随着自媒体和短视频的发展和兴起,包括我们很多WEB2.0产品的延续,当然也包括个人建站市场的低迷和用户关注的不同,有些个人已经不在做网站。但是,由于我们有些朋友出于网站的爱好或者说是有些项目还是基于PC端网站的,还是有网友抱有信心的,比如我们看到有一些老牌个人网站依旧在运行,且还有新网站的出现。今天在这篇文章中谈谈有网友问关于个人网站备案的问题。这个也是前几天有他在选择...
RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...